对于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>