wpf - 如何在Infragistics XamDataGrid中启用/禁用标题复选框

标签 wpf mvvm infragistics xamdatagrid

我正在使用Infragistics XamDataGrid在网格上显示数据。在此网格中,有一个复选框列(列名称:“IsSelected”)。我在此列的 header 中将CheckBox添加到“全选”选项。

如何基于ViewModel中的属性“IsCheckboxHeaderEnabled”启用/禁用此头CheckBox

 <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}}"/>

关于wpf - 如何在Infragistics XamDataGrid中启用/禁用标题复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49365572/

相关文章:

c# - 尝试从另一个线程访问复杂对象时出现 InvalidOperationException

c# - 使用 Prism 和 MVVM 模式在 WPF 中创建模态对话框的 "pretty"方法

c# - Prism 导航 - 上一个和下一个 View

c# - 如何从大文本中提取匹配字符串?

c# - 检查绑定(bind)到 MVVM 应用程序中的 ObservableCollection 的列表框中的选定项

c# - 将 $filter 从 oData 参数映射到 linq Where

c# - 当绑定(bind)属性为空时,WPF DataGrid 显示 'NULL'

c# - 按下输入时从文本框中触发命令?

asp.net - 在Asp.net Gridview中显示多列中的行

javascript - infragistics igeditor 的 onsubmit 验证选项不起作用