XAML: фиаско привязки с помощью DataTemplate в пределах листика в рамках DataTemplate
-
27-10-2019 - |
Вопрос
Привет, у меня есть данные для 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.
Не связан с StackOverflow