18 wpf datagrid datagridtemplatecolumn
我正在使用Microsoft WPF数据网格.我注意到WPF datagrid DataGridTemplateColumn有一个奇怪的行为.当您在网格中使用templateColumn并且当您从上一列中进行选项卡时,模板列包含一些控件时,焦点不会自动赋予模板列中声明的第一个元素.最初设置在模板列的边框上,当我们选择agin时,焦点将转到第一列.此问题的任何解决方法.当我关闭时,如何设置焦点以转到datagrid的模板列中的第一个元素.
我们通过修改DataGridCell上的样式解决了这个问题:
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="IsTabStop" Value="False"/>
Run Code Online (Sandbox Code Playgroud)
我通过处理网格的PrepareCellForEdit事件摆脱了这个问题.这是代码
void HODataGrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e)
{
UIElement inputElement;
///
/// Texbox is the first control in my template column
///
inputElement = HODataGridHelper.GetVisualChild<TextBox>(e.EditingElement);
if (inputElement != null)
{
Keyboard.Focus(inputElement);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 1
我在 WPF datagrid codeplex 讨论中找到了一个链接 http://www.codeplex.com/wpf/Thread/View.aspx?ThreadId=35540
感谢文森特·西巴尔
| 归档时间: |
|
| 查看次数: |
10250 次 |
| 最近记录: |