首页 > 解决方案 > 使用 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 不起作用。

标签: c#wpfdevexpress

解决方案


推荐阅读