我正在尝试继承Datagrid的Mahapp样式,我已经为Datagrid的行创建了一个样式,如下所示:
<UserControl.Resources>
<Style x:Key="DataGridRow">
<Style.Resources>
<Style TargetType="DataGridRow" BasedOn="{StaticResource MetroDataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Selected}" Value="True">
<Setter Property="Background" Value="LightGray"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Style.Resources>
</Style>
</UserControl.Resources>
不幸的是,当我在Datagrid上应用这个样式时,我得到了wpf的默认样式而不是mahapp,我做错了什么?感谢
<DataGrid AutoGenerateColumns="False" CanUserAddRows="false" Style="{StaticResource DataGridRow}">
答案 0 :(得分:3)
您必须将自定义样式设置为RowStyle
的{{1}}属性,因为DataGrid
不会查找隐式行样式。
DataGrid
用法:
<UserControl.Resources>
<Style x:Key="CustomRowStyle" BasedOn="{StaticResource MetroDataGridRow}" TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Selected}" Value="True">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>