带有索引的 WPF 绑定集合
Posted
技术标签:
【中文标题】带有索引的 WPF 绑定集合【英文标题】:WPF Binding Collection with Index 【发布时间】:2013-05-29 23:42:32 【问题描述】:我正在尝试使用作为另一个集合的属性的集合来绑定到列表框。以下工作正常
<ListBox ItemsSource="Binding Path=Locations[0].Buildings">
问题是我需要一个动态索引和
<ListBox ItemsSource="Binding Path=Locations[index].Buildings">
在我的视图模型中 index 是一个整数,不起作用。有谁知道我如何将我的 xaml 中的索引与我的视图模型中的属性相关联?
【问题讨论】:
【参考方案1】:在我的视图模型中 index 是一个整数,不起作用。有谁知道我如何将我的 xaml 中的索引与我的视图模型中的属性相关联?
一个简单的选择是在 ViewModel 中公开一个CurrentLocation
属性,实际上是Location[index]
。然后你可以直接绑定到它。
【讨论】:
是的,我想到了这一点,只是好奇是否有另一种方法,而不必创建另一个除了绑定之外没有其他目的的属性。很可能最终成为解决方案,谢谢!【参考方案2】:绑定中的绑定是不可能的,所以在 XAML 中你不能绑定到“索引”。
一个。 Chris Moser's 方法,您可以创建一个绑定到“索引”的DependencyProperty 在 RegisterAttached 处理程序上指定一个更改侦听器并在那里完成您的工作。
b.使用转换器。您可以提供索引作为 ConverterParameter
c。绑定到 POCO 属性。 POCO 属性需要由 changer 发出信号的 INotifyPropertyChanged
【讨论】:
b: 无法绑定索引:***.com/questions/15309008/binding-converterparameter以上是关于带有索引的 WPF 绑定集合的主要内容,如果未能解决你的问题,请参考以下文章