2
我有一個DataGrid,它有一個DataGridTemplateColumn,它使用DataGrid的ItemsSource綁定,但是在DataGridTemplateColumn的ComboBox中,我希望能夠綁定到視圖的ViewModel而不是ItemsSource。如何使用RelativeSource綁定創建DataGrid綁定到Model和ViewModel?
<DataGrid ItemsSource="{Binding ModelValues, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
<DataGridTemplateColumn Header="myHeader" Width="200">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox DisplayMemberPath="Value" SelectedValuePath="Key" IsEnabled="False"
SelectedValue="{Binding myID, Mode=TwoWay}"
ItemsSource="{Binding Path=myList,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:ViewModel}}}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox DisplayMemberPath="Value" SelectedValuePath="Key" IsEnabled="False"
SelectedValue="{Binding myID, Mode=TwoWay}"
ItemsSource="{Binding Path=myList,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:ViewModel}}}" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid>
視圖模型具有ModelValues
財產所有權以及myList
財產。 ModelValues
用於DataGrid
的ItemsSource
,我想用myList
代替ComboBox
ItemsSource
。
我該如何更改我的RelativeSource
命令,以便它能正常工作?