我有一个风格的窗口,我想重写一个DataGrid风格,所有数据网格在我的应用如何重写一个DataGrid风格
<Window.Resources>
<Style x:Name="dtgStyle" TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Transparent" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Blue" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter Property="Background" Value="Transparent" />
</Trigger>
</Style.Triggers>
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="White" />
</Style>
</Window.Resources>
我吼声,这一切都工作,但我不得不申请
Style s = Resources["dtgStyle"] as Style;
mydtg.Style = s;
现在我不想把它应用到ALL dtgs。 最好的办法是自动将它应用于xaml。
感谢名单
---添加灰----
谢谢您的帮助。唯一的问题是,当数据网格失去焦点时,数据网格中的选定行会改变颜色,如下图所示(前景变为黑色)。
我已尝试添加各种属性,但没有任何工程。
此外,左边框变得更大胆(没有双关语意图)和更大。 任何想法如何解决它? 谢谢
'的TargetType = “{x:类型DataGridRow}” '。它是DataGridRow风格,而不是DataGrid。它应该默认应用,因为没有明确的键 – ASh
Thanx因此我将DatagridRow名称更改为dtrStyle并添加了 但现在如何添加正确的样式? – Patrick
@Patrick您设置'TargetType =“{x:Type DataGridRow}”'的方式,您可以为'DataGrid'设置。最重要的是什么?你想要达到什么目的? – AnjumSKhan