Как выполнить выбор одного клика в WPF DataGrid? - PullRequest
126 голосов
/ 30 сентября 2010

У меня есть DataGrid с первым столбцом в виде текстового столбца и вторым столбцом в качестве столбца CheckBox.Что я хочу, если я нажму на флажок.Это должно быть проверено.Но для выбора требуется два щелчка, для первого щелчка выбирается ячейка, для второго щелчка устанавливается флажок.Как сделать так, чтобы флажок был отмечен / снят одним щелчком мыши.

Я использую WPF 4.0.Столбцы в DataGrid генерируются автоматически.

Ответы [ 11 ]

1 голос
/ 03 сентября 2012
<Style x:Key="StilCelula" TargetType="DataGridCell"> 
<Style.Triggers>
 <Trigger Property="IsMouseOver" Value="True">
   <Setter Property="IsEditing" 
     Value="{Binding RelativeSource={x:Static RelativeSource.Self}, 
     Converter={StaticResource CheckBoxColumnToEditingConvertor}}" />
 </Trigger>
</Style.Triggers>
<Style>
Imports System.Globalization
Public Class CheckBoxColumnToEditingConvertor
    Implements IValueConverter
    Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.Convert
        Try

            Return TypeOf TryCast(value, DataGridCell).Column Is DataGridCheckBoxColumn
        Catch ex As Exception
            Return Visibility.Collapsed
        End Try
    End Function

    Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
        Throw New NotImplementedException()
    End Function
End Class
...