我想更改tabPage处于活动状态的背景

时间:2019-06-17 12:31:46

标签: c# wpf

我想将customg背景设置为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处于活动状态或悬停时更改其笔刷?

1 个答案:

答案 0 :(得分:0)

您需要为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"/>

在Visual Studio或Blend中的设计模式下右键单击TabItem,然后选择Edit Template->Edit a Copy以获取默认模板的副本,然后根据需要对其进行编辑。寻找设置Background属性的设置器,例如:

<Setter Property="Background" TargetName="mainBorder" Value="{StaticResource TabItem.MouseOver.Background}"/>