首页 > 解决方案 > 如何在 UWP CommunityToolkit DataGrid 上设置列标题的样式

问题描述

我目前正在查看 UWP CommunityToolkit DataGrid。我已经阅读了这些文档,但我没有发现它们清楚地说明了如何应用 ColumnHeaderStyle。我不确定我应该在列标题中定位什么来设置我的风格。我希望更改背景和前景色。我还希望这些属性适用于整个标题,而不仅仅是单个列。

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

标签: c#uwp-xamlwindows-community-toolkit

解决方案


这让我困惑了一段时间,但我最终发现您需要添加另一个 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>

(然而,在撰写本文时,出于某种原因,这样做似乎存在奇怪的样式行为。)


推荐阅读