【问题标题】:WPF Binding Collection with Index带有索引的 WPF 绑定集合
【发布时间】:2013-05-29 23:42:32
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: wpf xaml data-binding mvvm


    【解决方案1】:

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

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

    【讨论】:

    • 是的,我想到了这一点,只是好奇是否有另一种方法,而不必创建另一个除了绑定之外没有其他目的的属性。很可能最终成为解决方案,谢谢!
    【解决方案2】:

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

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    相关资源
    最近更新 更多