通过 XAML 触发器单击即可在 DataGrid 中使用 EditMode [英] EditMode in DataGrid with single click via XAML triggers

查看:26
本文介绍了通过 XAML 触发器单击即可在 DataGrid 中使用 EditMode的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 DataGrid,如果我想在单元格中编辑值,我必须双击它,光标会出现在这里(只需单击一下,就可以选择适当的单元格)..!

我可以通过单击单元格(通过 Xaml 触发器)使它们不只是被选中,而是立即进入 EditMode,当我在带有箭头的单元格之间切换时,它们也会进入 EditMode?

这里是我当前修改后的代码

 <grd:LenghthToVisibility x:Key="LenghthToVisibility"/><grd:StringToSystemIconConverter x:Key="StringToSystemIconConverter"/><grd:booleanConverter x:Key="booleanConverter"/><DataGrid.CellStyle><Style TargetType="{x:Type DataGridCell}"><Setter Property="IsTabStop" Value="False"/><Setter Property="Focusable" Value="False"/></风格><Style x:Key="RightCellStyle" TargetType="DataGridCell"><Setter Property="Horizo​​ntalAlignment" Value="Right"/></风格><Style x:Key="RightAlignedCell" TargetType="{x:Type DataGridCell}"><Setter 属性="模板"><Setter.Value><ControlTemplate TargetType="{x:Type DataGridCell}"><网格背景="{模板绑定背景}"><ContentPresenter Horizo​​ntalAlignment="Right" VerticalAlignment="Center"/></网格></控制模板></Setter.Value></Setter><Style.Triggers><Trigger Property="DataGridCell.IsSelected" Value="True"><Setter Property="IsEditing" Value="True"/><Setter Property="Background" Value="#356815"/><Setter Property="Foreground" Value="#e2fce2"/></触发器></Style.Triggers></风格></DataGrid.CellStyle></Page.Resources>

谢谢.

我有 2 个奇怪的错误并刷新我上面的代码:1) 错误 5 在DataGrid"类型中找不到可附加属性CellStyle".2) 错误 2 XML 命名空间‘schemas.microsoft.com/winfx/2006/xaml/presentation’中不存在标签‘DataGrid.CellStyle’."

解决方案

忽略DataGridCell(关注内容)使用:

<Style TargetType="{x:Type DataGridCell}"><Setter Property="IsTabStop" Value="False"/><Setter Property="Focusable" Value="False"/></风格></DataGrid.CellStyle>

ElementStyle/EditingElementStyleCellTemplate/CellEditingTemplate 环境集DataGridCell.IsEditing 属性 如果选择为真: