2

嗨,我有一个 ViewModel 的数据模板。

在这个 DataTemplate 中,我得到了一个绑定到模板集合的 ListView,并且在其中我无法设置集合中项目的属性。

该属性的可用设置位于原始 ViewModel 的另一个集合中,但我很难绑定到它。

<DataTemplate DataType="{x:Type ViewModel}">

    <!-- Some irrelevant property bindings -->

    <ListView ItemsSource="{Binding Path=TheCollection}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ComboBox ItemsSource="{Binding RelativeSource={RelativeSource SOMEAPPROPRIATERELATIVESOURCE}, 
                                           Path=AvailablePropertiesCollection}"  SelectedItem="{Binding Path=TheProperty}" />
                </DataTemplate>
            </ListView.ItemTemplate>
    </ListView>

有没有什么好方法可以绑定到顶级 DataTemplate 的项目?

4

1 回答 1

0

我相信你会想要使用:

ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListView}}, 
    Path=DataContext.AvailablePropertiesCollection}"

这将绑定到 ListView 的数据上下文中的 AvailablePropertiesCollection。

于 2011-05-23T12:38:58.377 回答