在我的CreateBatchViewModel类中 - >查看CreateBatch.cs的模型 我有约束力
Datagrid ItemsSource="{Binding VersionList,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
其中VersionList是CreateBatchViewModel类中的Observable Collection属性,因此DataGrid中的所有属性:VersionId,DocumentId等都绑定到VersionGridViewVM类。
public ObservableCollection<VersionGridViewVM> VersionList
{
get
{
return _versionList;
}
set
{
if (value != null)
_versionList = value;
RaisePropertyChanged("VersionList");
}
}
我希望模板标题列中的组合框绑定到CreateBatchViewModel中的CheckALL属性。怎么做? CreateBatch.xaml(DATAGRID)
<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>
答案 0 :(得分:1)
试试这个:
<DataGridTemplateColumn>
<DataGridTemplateColumn.Header>
<CheckBox IsChecked="{Binding DataContext.CheckAll,
RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}" />
</DataGridTemplateColumn.Header>
</DataGridTemplateColumn>