在RadGridView上使用EventTrigger的CheckAll问题

时间:2018-01-16 02:52:15

标签: c# wpf xaml telerik radgridview

我正在使用RadGridView向用户显示数据。我添加了Check All复选框控件以启用用户选择所有记录。对于这个问题,我使用了EventTrigger并且它工作得很好。但最近我注意到CheckAll会先选择RadGridView上显示的先前页面的项目,这可能会对用户造成不利的行为。知道为什么会这样吗?有什么方法可以禁用缓存吗?

<telerik:RadGridView ItemsSource="{Binding DataContext.ListDataView, Mode=OneWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
                <i:Interaction.Behaviors>
                    <behav:PagedGridViewBehavior />
                <telerik:RadGridView.Columns>
                    <telerik:GridViewDataColumn IsCustomSortingEnabled="False"
                                                IsSortable="False">
                        <telerik:GridViewDataColumn.Header>
                            <CheckBox Name="chkCheckAll"
                                      IsChecked="{Binding DataContext.IsAllChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" />
                        </telerik:GridViewDataColumn.Header>
                        <telerik:GridViewDataColumn.CellTemplate>
                            <DataTemplate>
                                <CheckBox IsChecked="{Binding DataContext.IsAllChecked, Mode=OneWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
                                    <i:Interaction.Triggers>
                                        <i:EventTrigger EventName="Checked">
                                            <i:InvokeCommandAction Command="{Binding DataContext.ReleaseCheckedCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
                                                                   CommandParameter="{Binding REL_NO}" />
                                        </i:EventTrigger>
                                        <i:EventTrigger EventName="Unchecked">
                                            <i:InvokeCommandAction Command="{Binding DataContext.ReleaseUncheckedCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
                                                                   CommandParameter="{Binding REL_NO}" />
                                        </i:EventTrigger>
                                    </i:Interaction.Triggers>
                                </CheckBox>
                            </DataTemplate>
                        </telerik:GridViewDataColumn.CellTemplate>
                    </telerik:GridViewDataColumn>
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

由于

0 个答案:

没有答案