首页 > 解决方案 > RadGridView GridViewSelectColumn 即使在禁用时仍然可选择

问题描述

我正在使用 Telerik Gridview 为用户提供全选选项。我正在使用样式来禁用一些复选框,这可以正常工作。但是,用户仍然可以通过单击禁用复选框或全选来选择禁用。任何人都可以帮忙吗?提前致谢

<TelerikGridView:RadGridView  
                  Name="dataGridView" 
                  Height="485"
                  Grid.Row="0"                                    
                  AutoGenerateColumns="False" 
                  ItemsSource="{Binding Path=Items, Mode=TwoWay}"
                  IsReadOnly="False"
                  IsFilteringAllowed="True"
                  CanUserInsertRows="False"
                  SelectionMode="Multiple"                                    
                  CanUserSelect="True"
                  CanUserDeleteRows="False"
                  AlternationCount="2" >

<TelerikGridView:RadGridView.Resources>
    <Style x:Key="CheckBoxStyle" TargetType="CheckBox">
        <Setter Property="IsEnabled" Value="{Binding IsReady}"></Setter>
        <Setter Property="IsHitTestVisible" Value="{Binding IsReady}"></Setter>
        <Setter Property="IsChecked" Value="{Binding IsReady,Mode=OneWay}"></Setter>
    </Style>
</TelerikGridView:RadGridView.Resources>

<TelerikGridView:RadGridView.Columns>

    <TelerikGridView:GridViewSelectColumn CheckBoxStyle="{StaticResource CheckBoxStyle}" IsReadOnly="{Binding IsReady}"/>

在此处输入图像描述

标签: wpfsilverlightgridviewtelerikradgridview

解决方案


在文档中说(https://docs.telerik.com/devtools/wpf/controls/radgridview/columns/columntypes/column-types-select-column

它允许您通过复选框选择给定行,换句话说 - 每个 CheckBox 的 IsChecked 属性都绑定到相应行的 IsSelected 属性。

意味着,是否禁用/启用它并不重要 - 当您选择行时,复选框被选中。您可能正在寻找复选框列(https://docs.telerik.com/devtools/wpf/controls/radgridview/columns/columntypes/checkbox-column

或者可能是带有复选框模板的 DataColumn,如下所示:

    <telerik:GridViewDataColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox IsChecked="{Binding MyData, Mode=TwoWay}"
                                      HorizontalAlignment="Center"                                      
                                       />
                        </DataTemplate>
                    </telerik:GridViewDataColumn.CellTemplate>

此致,

马特乌什


推荐阅读