如何 enable/disable Infragistics XamDataGrid 中的 header 复选框
How to enable/disable a header checkbox in Infragistics XamDataGrid
我正在使用 Infragistics XamDataGrid
在网格上显示数据。在这个网格中,有一个复选框列(列名:"IsSelected")。我已将此列中 header 中的 CheckBox
添加到 'Select All' 选项。
如何enable/disable这个headerCheckBox
基于ViewModel中的属性'IsCheckboxHeaderEnabled'?
<igDP:XamDataGrid x:Name="ItemSource" DataSource="{Binding ItemSource,Mode=TwoWay}" Grid.Row="0" Margin="10" AutoFit="true">
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:FieldLayout.Fields>
<igDP:Field Name="IsSelected" Label=" " HorizontalContentAlignment="Left" Width="Auto" VerticalContentAlignment="Center">
<igDP:Field.Settings>
<igDP:FieldSettings DataItemUpdateTrigger="OnCellValueChange">
<igDP:FieldSettings.LabelPresenterStyle>
<Style TargetType="{x:Type igDP:LabelPresenter}">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" Content="" IsEnabled="{Binding IsCheckboxHeaderEnabled}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</igDP:FieldSettings.LabelPresenterStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
</igDP:Field>
<igDP:Field Label="Projects" Name="ModelFileName" AllowEdit="False" HorizontalContentAlignment="Left" Width="*"/>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
只要 IsCheckboxHeaderEnabled
属性 与 ItemSource
属性:
在相同的 class 中定义,这应该可以工作
<CheckBox ... IsEnabled="{Binding DataContext.IsCheckboxHeaderEnabled, RelativeSource={RelativeSource AncestorType=igDP:XamDataGrid}}"/>
我正在使用 Infragistics XamDataGrid
在网格上显示数据。在这个网格中,有一个复选框列(列名:"IsSelected")。我已将此列中 header 中的 CheckBox
添加到 'Select All' 选项。
如何enable/disable这个headerCheckBox
基于ViewModel中的属性'IsCheckboxHeaderEnabled'?
<igDP:XamDataGrid x:Name="ItemSource" DataSource="{Binding ItemSource,Mode=TwoWay}" Grid.Row="0" Margin="10" AutoFit="true">
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:FieldLayout.Fields>
<igDP:Field Name="IsSelected" Label=" " HorizontalContentAlignment="Left" Width="Auto" VerticalContentAlignment="Center">
<igDP:Field.Settings>
<igDP:FieldSettings DataItemUpdateTrigger="OnCellValueChange">
<igDP:FieldSettings.LabelPresenterStyle>
<Style TargetType="{x:Type igDP:LabelPresenter}">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" Content="" IsEnabled="{Binding IsCheckboxHeaderEnabled}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</igDP:FieldSettings.LabelPresenterStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
</igDP:Field>
<igDP:Field Label="Projects" Name="ModelFileName" AllowEdit="False" HorizontalContentAlignment="Left" Width="*"/>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
只要 IsCheckboxHeaderEnabled
属性 与 ItemSource
属性:
<CheckBox ... IsEnabled="{Binding DataContext.IsCheckboxHeaderEnabled, RelativeSource={RelativeSource AncestorType=igDP:XamDataGrid}}"/>