【问题标题】:How to enable/disable a header checkbox in Infragistics XamDataGrid如何在 Infragistics XamDataGrid 中启用/禁用标题复选框
【发布时间】:2018-03-19 14:38:50
【问题描述】:

我正在使用 Infragistics XamDataGrid 在网格上显示数据。在此网格中,有一个复选框列(列名:“IsSelected”)。我已在此列的标题中添加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>

【问题讨论】:

    标签: wpf mvvm infragistics xamdatagrid


    【解决方案1】:

    如果IsCheckboxHeaderEnabled 属性与ItemSource 属性定义在同一类中,这应该可以工作:

    <CheckBox ... IsEnabled="{Binding DataContext.IsCheckboxHeaderEnabled, RelativeSource={RelativeSource AncestorType=igDP:XamDataGrid}}"/>
    

    【讨论】:

    • 非常感谢您的建议。它对我有用。请解释您的解决方案。我之前也尝试过类似的代码,如下所示:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    相关资源
    最近更新 更多