DataGridTemplateColumn の EllementStyle や EdititngElementStyle のようなものが必要です。プロパティをデータグリッドの各行にバインドしたいためです。このプロパティは ViewModel 内にあり、ViewModel にこのプロパティのインスタンスがありますが、その異なるインスタンスを各行にバインドする必要があります。 !(このプロパティは DataGrid.ItemSource にはありません)
私はEllementStyleとEdititngElementStyleを使用してDataGridTextColumnに対してこのようなことをしましたが、DataGridTemplateColumnにはこのプロパティがないようです? 何か案が?
編集:
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding DataContext.MYProperty, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
私は以前に DataGridComboBoxColumn に対してこのようなことをしましたが、うまくいきました。
<DataGridComboBoxColumn
DisplayMemberPath="Name" SelectedValuePath="ID"
SelectedValueBinding="{Binding DocKindID}">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource" Value="{Binding Path=DataContext.DocKindList, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource" Value="{Binding Path=DataContext.DocKindList, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>