DataGrid选中的单元格背景
问题描述:
我遇到了WPF DataGrid的问题。DataGrid选中的单元格背景
我有下面的代码..
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Content.Text}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border Name="DataGridCellBorder">
<ContentControl Content="{TemplateBinding Content}">
<ContentControl.ContentTemplate>
<DataTemplate>
<TextBlock
Width="auto"
Height="auto"
Background="Transparent"
Text="{Binding Text}"
TextTrimming="CharacterEllipsis"
TextWrapping="WrapWithOverflow" />
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Orange" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
正如你所看到的,我已经取代默认DataGridCell与自定义模板。这是需要的,因为如果文本太大而不能适应给定单元格时,我希望单元格具有TextTrimming(当用户将鼠标悬停在给定单元格上时,这完全显示在工具提示中)
我现在的问题是当我选择一个单元格时,无论我尝试做什么,前景get都会设置为白色 - 我真正想要发生的事情是将单元格(甚至更好,整行)的背景颜色更改为橙色。
任何帮助,这将是巨大的
克里斯
答
如果你要改变DataGridCell.Background
属性,您需要在您的ControlTemplate
例如地方使用它使用一个TemplateBinding
<Border Name="DataGridCellBorder"
Background="{TemplateBinding Background}"/>
+0
这解决了我的问题,非常感谢! – lookitskris 2012-02-21 19:06:54
有这么多的问题,你甚至看了看周围呢? – 2012-02-21 17:21:45