Как отключить выбор строки для определенных ячеек в Telerik Raddatagrid UWP - PullRequest
0 голосов
/ 28 января 2019

У меня есть UWP Telerik RadDatagrid с флажком в первом столбце каждой строки, который позволяет пользователю пометить элемент строки для последующей обработки.Сетка данных имеет событие изменения выбора, которое перенаправляет на другую страницу в зависимости от выбранного элемента строки.Я не хочу, чтобы это измененное событие работало, если пользователь только установил флажок в первом столбце.Но в настоящее время это работает, если я нажимаю на любую ячейку, и нет способа отключить ее по ячейкам.

Единственный способ заставить его работать - установить глобальное логическое значение в флажке флажок события и проверить это значение, чтобы отключить оператор перенаправления в выбранном обработчике события.

Это выглядит как обходной путь и кажется неправильным.Есть ли другой способ, которым я могу отключить выбор строки ячейки мудро.

<gridControl:RadDataGrid x:Name="itemsGrid" AutoGenerateColumns="False" UserEditMode="None" 
UserGroupMode="Disabled" UserColumnReorderMode="None" UserFilterMode="Disabled" ItemsSource="{x:Bind ViewModel.Items, Mode=OneWay}" 
                                 SelectedItem="{x:Bind ViewModel.Item, Mode=TwoWay, Converter={StaticResource GenericConverter}}" 
                                 SelectionChanged="itemsGrid_SelectionChanged">
            <gridControl:RadDataGrid.Columns>
                <gridControl:DataGridTemplateColumn Header="Select">
                    <gridControl:DataGridTemplateColumn.CellContentTemplate>
                        <DataTemplate>
                            <StackPanel x:Name="stackItem" HorizontalAlignment="Center" VerticalAlignment="Center">
                                <CheckBox x:Name="chkItem" Checked="chkItem_Checked"></CheckBox>
                            </StackPanel>
                        </DataTemplate>
                    </gridControl:DataGridTemplateColumn.CellContentTemplate>
                </gridControl:DataGridTemplateColumn>
                <gridControl:DataGridTextColumn PropertyName="ItemCode" Header="Code" />
...