試圖解決使用mvvm-light的一個非常簡單的問題,但經過StackOverflow和大量Google搜索的篩選之後,我還沒有想出一個簡單的解決方案。如何將綁定數據項傳遞給ListBox項的ViewModel?
我有一個ListBox與dataTemplate。該DataTemplate中包含一個用戶控件來顯示內容
<ListBox ItemSource={Binding Posts} >
<ListBox.ItemTemplate>
<DataTemplate>
<ctl:PostControl/> <-- child control I'm trying to pass data to
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我已經得到的ViewModels兩個父頁面(用於綁定到的職位,也沒有問題),並在PostControl上顯示各個崗位。
問題:如何將單個帖子(從帖子控件的綁定)獲取到PostControl的viewModel中?
我用一個DataContext上PostControl定義:
DataContext="{Binding PostControlViewModel, Source={StaticResource Locator}}"
這似乎是工作,但我需要訪問必將由父列表框這種控制的各個帖子。我如何將單個帖子傳遞給PostControls的視圖模型?
我想到了ViewModels列表(很笨重的恕我直言,但它會工作),但轉換器是一個有趣的想法,謝謝! – Mekon 2010-08-09 19:21:47
轉換器工作得很好,感謝您的想法! – Mekon 2010-08-09 22:52:54
@Mekon:如果它適合你,那就OK。但我仍然認爲ViewNodel應該公開列表的ViewModels,而不是Biz對象列表。 – 2010-08-10 10:28:45