2

私のCreateBatchViewModelクラス内-> CreateBatch.csのビューモデル私はバインドしています

Datagrid ItemsSource="{Binding VersionList,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"

ここで、VersionList は CreateBatchViewModel クラスの監視可能なコレクション プロパティであり、DataGrid:VersionId、DocumentId など内のすべてのプロパティが VersionGridViewVM クラスにバインドされます。

public ObservableCollection<VersionGridViewVM> VersionList
{
  get 
  {
return _versionList;
  }
  set 
  {
if (value != null)
    _versionList = value;
RaisePropertyChanged("VersionList");
  }
}

テンプレート ヘッダー列のコンボ ボックスを CreateBatchViewModel の CheckALL プロパティにバインドする必要があります。どうやってするか?CreateBatch.xaml(データグリッド)

<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<CheckBox IsChecked="{Binding     Path=CreateBatchViewModel.CheckAll,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">
</CheckBox>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}">            </CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Version ID" Binding="{Binding VersionId}"/>
<DataGridTextColumn Header="Document ID" Binding="{Binding DocumentId}"/>
<DataGridTextColumn Header="Version Format" Binding="{Binding VersionFormat}"/>
</DataGrid.Columns>
4

1 に答える 1

1

これを試してください:

<DataGridTemplateColumn>
    <DataGridTemplateColumn.Header>
        <CheckBox IsChecked="{Binding DataContext.CheckAll, 
                              RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}" />
    </DataGridTemplateColumn.Header>
</DataGridTemplateColumn>
于 2013-04-24T14:31:47.857 に答える