0

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

0 回答 0