You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为UWP Pivot控件的不同PivotItem设置不同背景色

给UWP Pivot控件的不同PivotItem设置独立背景色

嗨,我来帮你搞定这个需求!给不同的PivotItem设置专属背景色其实很简单,我结合你的代码片段给你两种常用的实现方式:

方法一:直接在XAML中设置(最直观)

你可以直接给每个PivotItem添加Background属性,指定你想要的颜色。注意要把内部的ListView背景设为透明,不然会遮盖掉PivotItem的背景色。修改后的代码如下:

<Pivot x:Name="Pivot" HorizontalContentAlignment="Center">
    <!-- 给"All"设置蓝色背景 -->
    <PivotItem Header="All" x:Name="All" Background="#FF0078D7">
        <ListView ItemsSource="{Binding Source={StaticResource AllList}}" 
                  SelectionMode="None"
                  Background="Transparent">
        </ListView>
    </PivotItem>
    <!-- 给"Not All"设置红色背景 -->
    <PivotItem x:Name="NotAll" Header="Not All" Background="#FFE81123">
        <ListView ItemsSource="{Binding Source={StaticResource NotAllList}}" 
                  SelectionMode="None"
                  Background="Transparent">
        </ListView>
    </PivotItem>
</Pivot>

这里用的是微软官方的主题色十六进制值,你也可以换成Colors.Blue、Colors.Red这样的枚举值,或者自定义RGB颜色。

方法二:通过后台代码动态设置(适合动态场景)

如果你的背景色需要根据业务逻辑动态变化,比如用户切换主题时改变,那可以在后台代码里设置:

首先给页面添加加载事件:

<Page ... Loaded="Page_Loaded">

然后在代码后台实现:

private void Page_Loaded(object sender, RoutedEventArgs e)
{
    // 给All设置蓝色背景
    All.Background = new SolidColorBrush(Colors.Blue);
    // 给NotAll设置红色背景
    NotAll.Background = new SolidColorBrush(Colors.Red);
}

同样要记得把ListView的背景设为透明,否则看不到PivotItem的背景哦。

小提示

如果想要连Pivot的头部标签(Header区域)也设置不同背景,那需要修改Pivot的默认样式,重新定义PivotHeaderItem的模板,不过看你的需求应该是针对内容区域的背景,上面的方法就足够啦!

内容的提问来源于stack exchange,提问作者El0din

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:03:17