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