Wpf dataGridTextColumn上的Gotfocus和lostfocus不可能
我有一个WPF数据网格:Wpf dataGridTextColumn上的Gotfocus和lostfocus不可能,wpf,wpfdatagrid,lost-focus,Wpf,Wpfdatagrid,Lost Focus,我有一个WPF数据网格: <DataGrid ItemsSource="{DynamicResource TNMaps}" RowHeaderWidth="0" Width="680" AutoGenerateColumns="False" RowHeight="35" SelectionUnit="Cell" > <DataGrid.Columns> <DataGridTextColumn Header="Test Name" W
<DataGrid ItemsSource="{DynamicResource TNMaps}" RowHeaderWidth="0" Width="680" AutoGenerateColumns="False" RowHeight="35" SelectionUnit="Cell" >
<DataGrid.Columns>
<DataGridTextColumn Header="Test Name" Width="2*" Binding="{Binding TestName}" IsReadOnly="True" FontSize="20"/>
<DataGridTextColumn Header="LIS Name" Width="*" Binding="{Binding LISName}" FontSize="20" />
</DataGrid.Columns>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="FontSize" Value="20"/>
</Style>
</DataGrid.ColumnHeaderStyle>
</DataGrid>
用户可以编辑dataGridTextcolumn中标题名为“LIS Name”的单元格。我已尝试在此datagridTextColumn上设置gotfocus和lostfocus事件,但这些事件不可用。
我需要这样做,以便当用户尝试编辑此列中的单元格时(对于触摸版),我可以显示键盘
是否有其他方法可以做到这一点?当您需要在编辑、设置焦点等过程中对单元格与单元格进行更精确的控制时,我建议使用DataGridTemplateColumns并定义单元格和编辑单元格模板,而不是使用DataGridTextColumn:
<DataGrid ItemsSource="{DynamicResource TNMaps}" RowHeaderWidth="0" Width="680" AutoGenerateColumns="False" RowHeight="35" SelectionUnit="Cell" >
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding TestName}" GotFocus="OnCellGotFocus"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding TestName}" GotFocus="OnCellInEditGotFocus"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
在put TextBlock vs TextBox中,但您可以执行任何操作,并获得可视元素提供的完全控制。您还可以强制网格进入编辑模式,并在行选择、按键等上显示编辑模板