如何更改TabControl中选定选项卡的颜色?

2023-11-23

我正在实施一个TabControl用于 WPF 中的对话框。所选选项卡(鼠标按下)的颜色默认为白色。我想将所选选项卡的颜色更改为悬停的颜色(当我将鼠标悬停在选项卡上时,选项卡的颜色更改为 Office-blue-gradient,这就是我想要的所选选项卡的颜色单击鼠标时)。

我怎样才能做到这一点?

这段代码不起作用:

<Style x:Key="StyleTabControl" TargetType="{x:Type TabItem}">
    <Setter Property="Background" Value="#FFFDFDFD"/>
    <Style.Triggers>
        <Trigger Property="IsSelected "  Value="True">
            <Setter Property="Background" Value="SlateGray"></Setter>
        </Trigger>
    </Style.Triggers>
</Style>

注意:我还尝试了触发属性的 IsMouseCaptured 事件。还是不行。


好吧......经过几个小时的尝试,我意识到 TabItem 选择行为是在模板级别定义的。所以,如果我想改变背景颜色,我会这样做:

<Window.Resources>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">
                        <Border>
                            <Grid>
                                <Grid>
                                    <Border x:Name="border" 
                                            CornerRadius="3,3,0,0"
                                            Background="WhiteSmoke"/>
                                </Grid>
                                    <ContentPresenter ContentSource="Header"
                                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                            </Grid>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver"
                                     Value="True">
                                <Setter TargetName="border"
                                        Property="Background"
                                        Value="LightGray" />
                            </Trigger>
                            <Trigger Property="IsSelected"
                                     Value="True">
                                <Setter TargetName="border"
                                        Property="Background"
                                        Value="LightGray" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改TabControl中选定选项卡的颜色? 的相关文章

  • 我们可以在 C# 中定义枚举的隐式转换吗?

    是否可以在 C 中定义枚举的隐式转换 可以实现这一目标的东西吗 public enum MyEnum one 1 two 2 MyEnum number MyEnum one long i number 如果没有 为什么不呢 有一个解决方案
  • 以编程方式更改 Excel 中的字体(Trebuchet MS、Calibari)C#

    我目前正在使用一个 C 应用程序 该应用程序有一个将生成 Excel 文件的类 一切都很顺利 Excel 工作表上填充的数据具有 Times New Roman 字体 我想将其更改为其他字体 Calibari 我怎样才能以编程方式做到这一点
  • 如何从 std::vector 中删除元素而不调整其大小

    迭代器擦除 迭代器位置 迭代器擦除 首先是迭代器 迭代器最后 擦除元素 从向量中删除 容器可以是单个元素 位置 或一系列元素 第一个 最后一个 这有效地减少了向量 大小除以元素数量 删除 调用每个元素的 之前的析构函数 and remove
  • 在异步方法中使用时 HttpClient 标头被清空

    我正在使用 NET Framework 4 6 1 我的 Web api 中有一个控制器 其中有静态 HttpClient 来处理所有 http 请求 在 IIS 上托管我的应用程序后 大约每月一次 我的应用程序的所有传入请求都会出现以下异
  • 在 C/C++ 中绘制填充椭圆的简单算法

    在SO上 找到了以下绘制实心圆的简单算法 for int y radius y lt radius y for int x radius x lt radius x if x x y y lt radius radius setpixel
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 如果 .txt 文件不存在,则创建一个,如果存在则追加新行

    我想创建一个 txt 文件并写入它 如果该文件已经存在 我只想添加更多行 string path E AppServ Example txt if File Exists path File Create path TextWriter t
  • 测试从 ComboBox 派生的自定义控件

    我创建了一个从 ComboBox 派生的控件 并希望对其行为进行单元测试 但是 它在我的单元测试中的行为似乎与实际应用程序中的行为不同 在实际应用程序中 Combobox DataSource 属性和 Items 同步 换句话说 当我更改
  • ASP.NET 中的 thread.sleep

    我正在为我的网站模拟彗星实时馈送协议 因此在我的控制器中我添加 while nothing new before timeout Thread Sleep 1000 但我注意到添加此功能后整个网站变慢了 调试后我得出结论 当我打电话时Thr
  • UWP - 绑定枚举差异

    我遇到了一个非常有趣的问题 假设 UWP 应用中有以下 XAML 页面内容
  • 如何“全局”捕获对象实例中引发的异常

    我目前正在编写一个 winforms 应用程序 C 我正在使用企业库异常处理块 遵循我所看到的相当标准的方法 IE 在 Program cs 的 Main 方法中 我已将事件处理程序连接到 Application ThreadExcepti
  • argc 和 argv 在 Windows 中没有用吗?

    在 Linux 中 argc 和 argv 计算终端中的参数 但在 Windows 中 我找不到放置第二个参数的地方 事实上 每次我运行该程序时 它都会创建那个丑陋的黑色窗口 我什至没有机会给出任何争论 那么这两个变量在Windows平台下
  • 除法时的小数舍入误差 (C#)

    我基本上有四个数字 比如 100 200 300 400 我需要计算概率为 100 100 200 300 400 200 100 200 300 400 等等在 当我使用小数数据类型来存储这些概率时 由于舍入问题 它们不会达到 1 在不使
  • 是否有理由为什么用 XmlInclude 修饰的基类在序列化时仍然会抛出类型未知的异常?

    我将简化代码以节省空间 但所提供的内容确实说明了核心问题 我有一个类 它的属性是基类型 有 3 个派生类可以分配给该属性 如果我将任何派生类分配给容器并尝试序列化容器 XmlSerializer 会抛出可怕的错误 类型 x 不是预期的 使用
  • 如何通过 Excel 互操作对象自动调整列大小?

    下面是我用来将数据加载到 Excel 工作表中的代码 但我希望在加载数据后自动调整列的大小 有谁知道自动调整列大小的最佳方法 using Microsoft Office Interop public class ExportReport
  • 64 位随机生成器种子

    我目前正在运行一个具有 8 个以上管道 线程 的多线程模拟应用程序 这些管道运行非常复杂的代码 该代码取决于种子生成的随机序列 然后该序列被归结为单个 0 1 我希望在将种子从主线程传递到处理管道后 这种 随机处理 具有 100 的确定性
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 从不同的线程访问对象

    我有一个服务器类 它基本上等待来自客户端的连接 在该类中 我创建了一个 NetworkStream 对象 以便能够从客户端接收字节 由于 NetworkStream Read 方法不是异步的 这意味着它将等到从客户端读取字节才能继续执行类似
  • 如何从与 C# lambda 集成(而非代理集成)的 Amazon API 网关获取正确的 http 状态代码?

    我正在使用 C lambda 与 API 网关集成 我希望 API 网关返回正确的错误代码 例如 400 404 500 等 API网关模块tf文件 provider aws version lt 2 70 0 region var aws
  • 有关 Endian 性和 .Net 的详细信息?

    我有几个关于字节顺序的问题 这些问题足够相关 我保证将它们作为一个问题提出 1 字节顺序是由 Net还是由硬件决定的 2 如果是由硬件决定的 我怎样才能在C 中找出硬件的字节序 3 字节序是否影响二进制交互 例如 OR AND OR 或移位

随机推荐

  • 显示用户时区模型上的所有日期 (Laravel)

    我有用户timezone存储 有timezone栏目中的usersDB表 我想显示all dates属性上所有型号在用户的时区 如果经过验证的 我正在尝试找到一种优雅的方法来执行此操作 理想情况下 当 Blade 视图中有类似这样的内容时
  • 限制在 Gnuplot 上绘制的函数的域

    我正在Gnuplot上绘制一组数据 并且想要叠加函数x 2在同一个地块上 我可以这样做 plot filename using 1 2 x 2 这会产生一个图 其中函数x 2延伸到图的整个域 我想让该函数仅显示在图形的一小部分上 例如从 x
  • mutate 和 rowSums 排除列

    如同 mutate rowSums 排除一列但就我而言 我真的希望能够使用select删除特定列或一组列 我试图理解为什么这种性质的东西不起作用 d lt data frame Alpha letters 1 26 Beta rnorm 2
  • Three.js 阴影痤疮的原因是什么以及如何解决

    为了让所有阴影都能渲染出来 我设置了shadow camera top bottom left right定向光 投射阴影 但会导致阴影痤疮 我尝试使用shadow bias但还是不对 阴影痤疮的原因是什么以及如何解决 这是我的代码 lig
  • 在 SpriteKit 中,SKCropNode 对 SKShapeNode 没有影响

    我一直在尝试使用 SKCropNode 将遮罩应用于 SKShapeNode 但到目前为止没有成功 认为这是一个 SpriteKit bug 这是代码片段 SKNode contentNode SKNode node picture use
  • Haskell 进口申报

    我开始阅读有关 monad 转换器的内容 令我困惑的是Control Monad CatchIO我在许多代码示例中看到的导入声明 import MonadCatchIO transformers Control Monad CatchIO
  • Python中文件路径以字符串形式抛出错误

    我需要在 Python 中以字符串的形式放置很多文件路径作为我的程序的一部分 例如我的目录之一是D ful automate dl 但 Python 将某些字符一起识别为其他字符并抛出错误 在示例中 错误是IOError Errno 22
  • 如何在 VB6 中运行 shell 命令而不打开 CMD 窗口

    以下代码是我的 VB6 程序的一部分 我在 VB 中使用 shell 命令来使用标志和参数执行 pscp exe 我的问题是 当 VB 运行该行时 Shell strCommand 1 它还打开 CMD 窗口 2 4 秒 CMD 弹出窗口
  • 如何在Arduino上将数据写入文本文件

    我不断收到一些位置数据 目前正在将其打印到序列中 假设我有字符串 5 并希望将其打印到文本文件 myTextFile 我需要做什么才能实现此目的 需要明确的是 文本文件将保存在我的计算机上 而不是 Arduino 上的 SD 卡上 另外 在
  • 为什么 Glassfish 管理控制台这么慢?

    我正在运行 GlassFish Server 开源版 3 0 1 内部版本 22 在我的开发环境 Mac OSX 4 核和 8GB RAM 和生产环境 Linux 2 核 4GB 中 控制台的启动速度都非常慢 机器基本上闲置 玻璃鱼在做什么
  • 使用 Tkinter 将一个按钮绑定到两个事件

    我刚刚开始编程 正在制作一个井字游戏程序 在我的程序中 我有一个显示功能 它可以更改并确保输入的内容有效 还有一个获胜检查器 有没有办法可以将这两个功能绑定到回车键 就像是 RowEnt bind
  • 在 C# 的 foreach 循环中更新结构

    我有这个代码 C using System Collections Generic namespace ConsoleApplication1 public struct Thing public string Name class Pro
  • 自动将代码从 Gitlab 部署到 AWS EC2 实例

    我们正在构建一个正在使用的应用程序GitLab存储库 手动将代码部署到测试服务器亚马逊 AWS EC2 实例很乏味 我计划自动化部署过程 这样当我们提交代码时 它应该反映在测试实例中 据我所知 我们可以使用AWS代码部署从中获取代码的服务G
  • 可用于 Rails 应用程序其余部分的 CoffeeScript/JavaScript 类和方法集

    我正在使用 Rails 3 2 9 当我将 CoffeeScript 代码添加到 js coffee文件在 app assets javascripts目录中 我在所有网页中都得到了生成的 JavaScript 问题是所有 JavaScri
  • 取消异步网络请求?

    我正在使用适用于 Windows Phone 的异步 CTP 库 有谁知道如何取消待处理的网络请求 Request HttpWebRequest WebRequest Create url Request Credentials new N
  • django Rest框架序列化字典而不创建模型

    我的数据是这样的 我想序列化它们而不为它们创建模型 form 1 count 1 form 2 count 3 序列化到 form my form name 1 count 1 form my form name 2 count 3 我想用
  • 非阻塞获取字符

    平台 Linux 3 2 0 x86 Debian 7 编译器 GCC 4 7 2 Debian 4 7 2 5 我正在编写一个函数 如果标准输入中已存在字符 则从标准输入读取单个字符 如果 stdin 为空 则该函数将不执行任何操作并返回
  • 如何使用 JPA/Hibernate 设置复合主键的列顺序

    我在组合主键中的列排序时遇到问题 我有一个包含以下内容的表 Embeddable public class MessageInfo implements Serializable private byte loc private long
  • Django 脆皮表单、BaseGenericInlineFormSet 和allow_delete

    我在使用 django crispy forms 时遇到了一个问题 我无法得到答案 我有一个相当复杂的表单布局 到目前为止 一切都与 cripy forms 一起工作得非常好 表单的一部分使用通用内联表单集 这也有效 但我的问题是 我无法弄
  • 如何更改TabControl中选定选项卡的颜色?

    我正在实施一个TabControl用于 WPF 中的对话框 所选选项卡 鼠标按下 的颜色默认为白色 我想将所选选项卡的颜色更改为悬停的颜色 当我将鼠标悬停在选项卡上时 选项卡的颜色更改为 Office blue gradient 这就是我想