c# - 我想在 tabPage 处于活动状态时更改它的背景
问题描述
我想将自定义背景设置为 tabPage,但它仅在其不活动时才有效。
<TabItem Header="Камера" VerticalAlignment="Center" Width="170" Height="40" BorderBrush="{x:Null}" >
<TabItem.Background>
<ImageBrush ImageSource="res/tap.png"/>
</TabItem.Background>
</TabItem>
这仅在选项卡未处于活动状态时有效 https://ibb.co/hD28jVB 如何在 tabItem 处于活动状态或悬停时更改它的画笔?
解决方案
您需要为自定义定义一个自定义ControlTemplate
,TabItem
因为默认设置将Background
属性设置为一些静态SolidColorBrushes
:
<SolidColorBrush x:Key="TabItem.MouseOver.Border" Color="#7EB4EA"/>
<SolidColorBrush x:Key="TabItem.Disabled.Background" Color="#F0F0F0"/>
<SolidColorBrush x:Key="TabItem.Disabled.Border" Color="#D9D9D9"/>
<SolidColorBrush x:Key="TabItem.Selected.Border" Color="#ACACAC"/>
<SolidColorBrush x:Key="TabItem.Selected.Background" Color="#FFFFFF"/>
TabItem
在 Visual Studio 或 Blend 中的设计模式下右键单击并选择Edit Template->Edit a Copy
获取默认模板的副本,然后根据您的要求对其进行编辑。寻找设置Background
属性的设置器,例如:
<Setter Property="Background" TargetName="mainBorder" Value="{StaticResource TabItem.MouseOver.Background}"/>
推荐阅读
- chisel - 这些 `a.bits.user.amba_prot` 信号是什么?为什么它们只是在我的 HarnessBinder 中有条件地未初始化?
- android - is it possible to use usb wifi adapter in android emulator
- java - 有没有一种有效地迭代这些不同索引的好方法?
- angular - 在 Angular 中出现错误,因为 ɵɵFactoryTarget 未定义
- wordpress - 当屏幕尺寸从桌面移动到平板电脑和移动设备时,我遇到了图像消失的问题
- java - 跨不同 JVM 的相同 SparkContext
- mongodb - Mongoose、Mongo 和单元测试/与 Jest 的集成测试
- swift - 在 Swift 并发中创建任务的不同方法
- r - 添加带有小刻度的第二个轴(顶部和右侧)
- bitbucket-server - 如何使用 BitBucket 服务器获取文件的永久链接?