XAML: фиаско привязки с помощью DataTemplate в пределах листика в рамках DataTemplate

StackOverflow https://stackoverflow.com/questions/5841462

Вопрос

Привет, у меня есть данные для DataTemplate для ViewModel.

В рамках этого DataTemplate я получил список, связанный с коллекцией шаблона, и там я не смогу установить свойство элементов в коллекции.

Доступные настройки свойства находятся в другой коллекции в оригинальной 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>

Есть ли хороший способ получить привязку к элементу The Top DataTemplate?

Это было полезно?

Решение

Я считаю, что вы хотели бы использовать:

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

Это связывается с доступной PropertiesCollection в контексте данных ListView.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top