如何在UWP CommunityToolkit DataGrid上设置列标题的样式

时间:2018-08-30 19:28:59

标签: c# uwp-xaml windows-community-toolkit

我目前正在查看UWP CommunityToolkit DataGrid。我已经看过文档,但是在如何应用ColumnHeaderStyle方面我找不到明确的文档。我不确定应该在列标题中定位什么以设置样式。我希望更改背景和前景色。我还希望这些属性应用于整个标题,而不仅仅是单个列。

 <controls:DataGrid.ColumnHeaderStyle>
       <Style TargetType="">
             <Setter Property="" Value=""/>
       </Style>                                       
 </controls:DataGrid.ColumnHeaderStyle>

2 个答案:

答案 0 :(得分:0)

您可以按如下所示在App.xaml中覆盖DataGridColumnHeaderBackgroundBrushDataGridColumnHeaderForegroundBrush

<SolidColorBrush x:Key="DataGridColumnHeaderBackgroundBrush" Color="#FFCB2128" />
<SolidColorBrush x:Key="DataGridColumnHeaderForegroundBrush" Color="#FFB03060" />

答案 1 :(得分:0)

这个让我有些困惑,但是我最终发现您需要添加另一个XML名称空间声明以定位列标题。

<Application
    x:Class="MyApp"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
    xmlns:controlsprimitives="using:Microsoft.Toolkit.Uwp.UI.Controls.Primitives">

所以在这种情况下,我只是附加了:

xmlns:controlsprimitives="using:Microsoft.Toolkit.Uwp.UI.Controls.Primitives"

然后您可以使用此目标创建样式:

<Style x:Key="ColumnHeaderStyle" TargetType="controlsprimitives:DataGridColumnHeader">
    <!-- style properties -->
</Style>

(但是,在撰写本文时,出于某种原因,似乎在进行此操作时会有奇怪的样式行为。)