Я использую компонент DataGrid, предоставляемый как часть UI Community Toolkit, и хотел бы иметь пару ячеек, которые показывают раскрывающийся список (ComboBox).
Элемент ItemsSource для раскрывающегося списка должен поступить из модель представления, тогда как SelectedItem должен привязываться к контексту текущего элемента (строки).
<tc:DataGrid ItemsSource="{Binding GridItems}">
<tc:DataGrid.Columns>
<tc:DataGridTemplateColumn Tag="ExampleColumn" Header="Example Column">
<tc:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding <ViewModelProperty>}" SelectedItem="{Binding <ContextProperty>}" />
</DataTemplate>
</tc:DataGridTemplateColumn.CellTemplate>
</tc:DataGridTemplateColumn>
...
</tc:DataGrid.Columns>
</tc:DataGrid>
Как настроить привязки для ComboBox, чтобы ItemsSource
извлекалось из модели представления страницы, в то время как SelectedItem
привязывается к текущему элементу в коллекции GridItems
.
В большинстве статей говорится об использовании RelativeSource и AncestorType, но я не думаю, что они доступны в приложениях UWP.