试图解决使用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