DataGrid行和单元格样式在XAML
问题描述:
我想在app.xaml
内设置DataGrid样式。我尝试添加样式,但是我不确定添加单元格和行样式所需的语义。DataGrid行和单元格样式在XAML
这就是我到目前为止所尝试过的;
<Style TargetType="DataGrid" x:Name="noighlightRowDataGrid">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="Background"
Value="White" />
<Setter Property="Foreground"
Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="BorderBrush"
Value="Blue" />
<Setter Property="BorderThickness" Value="2" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
我可以看到丢弃DataGrid.CellStyle
到DataGrid中风格都不会工作,但正如我所说的,我如何正确地创建样式不确定。
答
您可以独立指定行和单元格样式。
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="White" />
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderBrush" Value="Blue" />
<Setter Property="BorderThickness" Value="2" />
</Trigger>
</Style.Triggers>
</Style>
+0
Hi hank,我在我的app.xaml中定义了这个,所以我想在DataGrid样式中包含样式,如果可能的话。 – CBreeze
那么,如果你想你的风格将自动使用你要删除的X:名称 –
@ Med.Amine.Touil我不希望它被自动应用,只有那些我指定的风格就是这个。 – CBreeze
您必须为新创建的样式指定一个键x:Key =“xxxx” –