12

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

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

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

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

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

4

2 回答 2

7

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

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

于 2013-06-03T18:21:33.497 回答
5

绑定中的绑定是不可能的,因此在 XAML 中您不能绑定到“索引”。

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

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

C。绑定到 POCO 属性。POCO 属性需要由 changer 发出信号的 INotifyPropertyChanged

于 2013-06-03T19:10:03.497 回答