c# - 使用 Gridcolumn 单元格模板时保持默认网格单元格样式
问题描述
我向 gridcontrol 单元格添加了一些动画。通过这样做,我不得不指定一个控件来将数据绑定到,例如:
<dxg:GridControl.Columns>
<dxg:GridColumn Header="Name">
<dxg:GridColumn.CellTemplate >
<DataTemplate>
<DataTemplate.Resources>
<Storyboard x:Key="ChangedAnimation">
<ColorAnimation Storyboard.TargetProperty="Background.Color" Storyboard.TargetName="name"
From="Transparent" To="Yellow" Duration="0:0:0.5" AutoReverse="True" RepeatBehavior="3x"/>
</Storyboard>
</DataTemplate.Resources>
<dxe:TextEdit Style="{StaticResource TextCellStyle}" Name="name" Background="Transparent" Text="{Binding Path=RowData.Row.Name, NotifyOnSourceUpdated=True, Mode=TwoWay}" BorderThickness="0"></dxe:TextEdit>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding RowData.Row.NameChanged}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource ChangedAnimation}"/>
</DataTrigger.EnterActions>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
.... more gridcolumns ...
</dxg:GridControl.Columns>
不幸的是,这会在单元格之间产生间距。它不仅看起来很讨厌,用户还可以单击文本字段并更新该字段。此外,它使右键单击和显示菜单项变得困难,即您必须在单元格之间单击,我不想要它。我希望能够保持默认的 GridControl 外观,您必须单击两次才能允许编辑并且没有可怕的单元格间距。
我可以使用什么而不是使用 textedit?TextBlock 或 Label 不起作用。
解决方案
推荐阅读
- java - 如果 ArrayList 是有序的,ArrayList 的 contains() 方法是否工作得更快?
- python-3.x - 使用 python 获取斐波那契数列的第 n 个字符
- php - 从 MySQL 到 PHP 的布尔值 - 转换为 tinyint 并进行比较
- swift - 如何用手指移动毫不延迟地移动 CAShapeLayer
- phpstorm - 更改文件后目录的PhpStorm蓝色
- android - Emulator Api 19 比 Emulator Api 27 快
- fatal-error - 致命错误:ESP8266WiFi.h:没有这样的文件或目录
- javascript - stepwizard stepPosition 不起作用
- sql - 对于 oracle SQL 中的每个循环,使用动态列显示为输出
- ruby-on-rails - 编辑和删除时对象 ID 混乱