Как реализовать выбор изменен и щелкнул в той же сетке данных? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть datagrid со столбцом для переключателя и, возможно, другие столбцы. У моего datagrid есть selectionchanged, а кнопка переключателя нажата. Здесь переключатель используется для выбора элемента, который нужно удалить, а selectionchanged - для выбора элемента для редактирования (переход на страницу редактирования). Но теперь мой переключатель не работает. Даже если я нажму на радио, selectionchanged работает только.

Я попробовал нормальный способ. То есть clicked дается для переключателя, а selectionchanged дается для всей сетки данных. Но это не работает, как я уже говорил.

<DataGrid SelectionChanged="datagridListviewSelectionChanged" Height=" {Binding ActualHeight, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type Grid}, Mode=FindAncestor}}" Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type Grid}, Mode=FindAncestor}}"   x:Name="ListView"  Style="{StaticResource DataGridListing}"  >
                            <DataGrid.Resources>
                                <Style BasedOn="{StaticResource {x:Type DataGridColumnHeader}}" TargetType="{x:Type DataGridColumnHeader}">
                                    <Setter Property="Foreground" Value="Blue" />
                                </Style>
                            </DataGrid.Resources>
                            <DataGrid.Columns>
                                <DataGridTemplateColumn Header="{Binding SerialNo , Source={StaticResource Strings}}">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Foreground="Red" x:Name="DataGridColumnSlNo" Text="{Binding SlNo}">
                                            </TextBlock>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>

                                <DataGridTemplateColumn  Width="0.5*"  >
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <RadioButton GroupName="RadioButtonGroup"   Style="{StaticResource DatagridRadioButton}"  IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  />
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>
                                <DataGridTextColumn   Width="2*"  Header="{Binding ItemCode , Source={StaticResource Strings}}" x:Name="DataGridColumnHsn"  Binding="{Binding ItemCode}"   />
                                <DataGridTextColumn   Width="2*"  Header="{Binding itemName , Source={StaticResource Strings}}"   Binding="{Binding ItemName}"   />
                                <DataGridTextColumn   Width="2*"  Header="{Binding barcode , Source={StaticResource Strings}}"   Binding="{Binding BarCode}"   />
                                <DataGridTextColumn   Width="2*"  Header="{Binding hsnCode , Source={StaticResource Strings}}"   Binding="{Binding HsnCodes}"   />
                                <DataGridTextColumn   Width="2*"  Header="{Binding CountryOfOrigin , Source={StaticResource Strings}}"   Binding="{Binding COO}"   />
                                <DataGridTextColumn   Width="2*"  Header="{Binding Brand , Source={StaticResource Strings}}"   Binding="{Binding Brand}"   />
                                <DataGridTextColumn   Width="2*"  Header="{Binding shelf     , Source={StaticResource Strings}}"   Binding="{Binding Shelf}"   />
                            </DataGrid.Columns>
                        </DataGrid>

Ожидаемый результат: Clicked работает для удаления, а выбор изменен для работы.

Но фактический результат только selectionchanged работает.

...