【发布时间】:2016-06-01 07:16:50
【问题描述】:
我在我的app.config 中设置了一个style,我想为我在程序中使用的每个rectangle 着色。好看又简单,长这样;
<Style TargetType="Rectangle">
<Setter Property="Fill" Value="LightBlue"/>
</Style>
我最近注意到我的所有DataGrids 中有一些奇怪的行为,当用户使用箭头键导航到rows 时,单元格内的文本将被空白,看起来像这样;
之前
按下箭头键后
如您所见,文本已明显消失(两张图片中的单元格相同)。我终于开始研究这个并得出结论,rectangle 样式适用于每个DataGridCell。我只能假设这是因为wpf 在DataGridCell 中使用了recangles。
有没有办法可以将此样式仅应用于我从工具箱中取出的rectangles,而不是DataGrid 中的文字rectangles?
一个简单的选择是完全删除 style 并单独应用它,但如果我们进一步更改配色方案,这可能会变得非常耗时。
更新
我还(如果可能的话)喜欢使用任何修复程序来修改我喜欢的DataGridCell 外观;
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Orange" />
<Setter Property="BorderBrush" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
【问题讨论】: