gpt4 book ai didi

wpf - 无法在 dataGridTextColumn 上获得焦点和失去焦点

转载 作者:行者123 更新时间:2023-12-04 16:14:43 28 4
gpt4 key购买 nike

我有这个 WPF DataGrid:

<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>

用户可以使用标题名称“LIS 名称”编辑 dataGridText 列中的单元格。我尝试在此 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>

在 TextBlock 与 TextBox 中,但您可以做任何事情,并获得视觉元素提供的完全控制。您还可以强制网格进入编辑模式,并在行选择、按键等操作时显示编辑模板。

关于wpf - 无法在 dataGridTextColumn 上获得焦点和失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17039091/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com