Я хотел бы изменить фон tabPage, пока он активен - PullRequest
1 голос
/ 17 июня 2019

Я хочу установить настраиваемый фон для 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 голосов
/ 17 июня 2019

Вам необходимо определить пользовательский 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}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...