我一直在试图看看是否有一种简单/巧妙的方式来实现与ListBox.SelectedItems的绑定。如果你已经尝试过自己,你会知道,使用BindingExtension的标记绑定将不起作用 - 该属性不支持它。因此,您需要为SelectionChanged配置一个处理程序并尝试该路线。我得到的最接近的是这篇文章:
http://alexshed.spaces.live.com/blog/cns!71C72270309CE838!149.entry
它在一个方便的附加属性中实现了所有必需的C#。但它实现了“绑定”作为单向,目标到源。我想要双向绑定。
有任何想法吗?
发布于 2018-04-11 15:52:35
我找到了一个优雅的解决方案,我刚刚有时间写一篇关于它的博客文章。
我所做的是创建一个附加属性SynchronizedSelectedItems,您可以在ListBox(或实际上是DataGrid)上设置它。将这个数据绑定到一个集合,然后,用一些魔法,ListBox上的SelectedItems属性和你的集合保持同步。你可以从我的博客文章下载所有的代码。
“magic”是一个类,用于侦听任何集合中的CollectionChanged事件,并将更改传播给另一个集合。
https://stackoverflow.com/questions/-100008069
复制相似问题