我正在使用MVVM模式和Silverlight 4将TODO项目集合绑定到ListBox。绑定ListBoxItem.ItemSelected到Silverlight中的绑定项目
每个TODO
实体上都有一个属性IsSelected
。这允许在UI中进行多重选择,这些选择被绑定回ViewModel。同时,ViewModel所做的任何更改都会反映在视图中。
我基本上试图做的是suggested in this answer。
不幸的是在Silverlight中(而不是WPF),我只是无法找到一种方法来使用SL4中的Bindings in a Style Setter are not supported以及模板。
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected"
Value="{Binding Mode=TwoWay, Path=IsSelected}"/>
</Style>
</ListBox.ItemContainerStyle>
然而不同于其他任何方法 - 这似乎是最可靠的双向选择的项目列表的结合。
如何在代码隐藏或XAML中表达此绑定?
+1 mate,我只是用这种方式实现了一些东西,而你的博客文章帮助我确认它会起作用! ;) – Town 2011-09-02 16:14:14
这似乎不能在WPF中正常工作。这是一个WPF错误?出于某种原因,填充颜色不会出现在最初选择的人员身上。直到我手动取消选中并重新检查框时,才会显示颜色。验证它在Silverlight中有效。 – kbeal2k 2012-12-05 15:34:02
按照原始问题所述,您不应该在WPF中需要此解决方案。如果您遇到麻烦,我会建议您按照问题中的答案链接或发布一个新问题,并提供您所看到的详情。 – WiredPrairie 2012-12-06 11:42:44