我需要像DataGridTemplateColumn这样的EllementStyle和EdititngElementStyle,因为我想将一个属性绑定到datagrid的每一行,而且这个属性在ViewModel中,我在viewmodel中有一个这个属性的实例,但是需要绑定那个的diffrenent实例到每一行!(此属性不在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>