2

こんにちは、ViewModelのdataTemplateを取得しました。

この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 に答える