BaseOn 无法正常工作
BaseOn not working properly
我正在尝试继承 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}">
您必须将自定义样式设置为 DataGrid
的 RowStyle
属性,因为 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>
用法:
<DataGrid RowStyle="{StaticResource CustomRowStyle}" />
我正在尝试继承 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}">
您必须将自定义样式设置为 DataGrid
的 RowStyle
属性,因为 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>
用法:
<DataGrid RowStyle="{StaticResource CustomRowStyle}" />