我有DataGrid,如果我想要在单元格中编辑值,我必须对此执行双击并在此处显示光标(只需单击一下,只需选择适当的单元格)..!
我可以(通过Xaml触发器)单击单元格而不是单击它们,而是立即输入EditMode,当我在带箭头的单元格之间切换时,它们也会进入EditMode? p>
这是我目前修改后的代码
<Page.Resources>
<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>
<Style x:Key="RightCellStyle" TargetType="DataGridCell">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>
<Style x:Key="RightAlignedCell" TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Right" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</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" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</Page.Resources>
感谢。
我有两个奇怪的错误并刷新上面的代码: 1)“错误5在'DataGrid'类型中找不到可附加属性'CellStyle'。 2)“错误2”XML命名空间'schemas.microsoft.com/winfx/2006/xaml/presentation'中不存在标记'DataGrid.CellStyle'。“
答案 0 :(得分:1)
要忽略DataGridCell
(关注内容),请使用:
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Focusable" Value="False" />
</Style>
</DataGrid.CellStyle>
如果选择,请在ElementStyle / EditingElementStyle或CellTemplate / CellEditingTemplate环境设置DataGridCell.IsEditing Property中输入EditMode为true:
<Style x:Key="RightAlignedCell" TargetType="{x:Type DataGridCell}">
...
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="IsEditing" Value="True" />
...
</Trigger>
</Style.Triggers>
</Style>