带索引的WPF绑定集合

时间:2013-06-03 18:20:04

标签: wpf xaml data-binding mvvm

我正在尝试使用另一个集合的属性集合来绑定到列表框。以下工作正常

<ListBox ItemsSource="{Binding Path=Locations[0].Buildings}">

问题是我需要一个动态索引和

<ListBox ItemsSource="{Binding Path=Locations[index].Buildings}">

其中index是我的viewmodel中的整数,不起作用。有谁知道如何将我的xaml中的索引与我的viewmodel中的属性相关联?

2 个答案:

答案 0 :(得分:7)

  

其中index是我的viewmodel中的整数,不起作用。有谁知道如何将我的xaml中的索引与我的viewmodel中的属性相关联?

一个简单的选择是在ViewModel中公开CurrentLocation属性,该属性实际上是Location[index]。然后你可以直接绑定它。

答案 1 :(得分:4)

绑定中的绑定是不可能的,所以在XAML中你不能绑定到“index”。

一个。 Chris Moser's方法,您可以创建绑定到“index”的DependencyProperty在RegisterAttached处理程序上指定更改侦听器并在那里完成工作。

湾使用转换器。您可以提供index作为ConverterParameter

℃。绑定到POCO财产。 POCO属性需要由更换器发出的INotifyPropertyChanged