DataGrid の ItemsSource バインディングを使用する DataGridTemplateColumn を持つ DataGrid がありますが、DataGridTemplateColumn の ComboBox で、ItemsSource の代わりにビューの 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>
ViewModel には、ModelValues
プロパティだけでなくプロパティもありmyList
ます。はのModelValues
に使用され、ItemsSource
に使用しDataGrid
たいです。myList
ComboBox
ItemsSource
RelativeSource
コマンドが機能するように変更するにはどうすればよいですか?