Цвет фона TabItem по умолчанию - PullRequest
2 голосов
/ 21 июля 2011

Я хочу установить цвет фона заголовка TabItem (TabItem.Background), если определенное содержимое не установлено на вкладке.Для этого у меня в свойстве ViewModel есть свойство Brush, которое связано со свойством Background элемента TabItem.Однако я не уверен, как получить / создать стандартную кисть фона TabItem.

public Brush TabItemBrush
{
    get
    {
        return IsContentSet ? DefaultTabItemBrush : Brushes.LightSkyBlue;
    }
}
<TabItem Header="Some Header" Background="{Binding TabItemBrush, Mode=OneWay}">

Мне бы хотелось, чтобы кисть DefaultTabItemBrush соответствовала другим элементам TabItem, поэтому еслиИзменения темы все TabItems будут выглядеть одинаково.

Доступна ли кисть по умолчанию в SystemColors?

Использование C # / .NET 3.5

1 Ответ

1 голос
/ 10 декабря 2011

В итоге я использовал решение из В WPF как получить фон кнопки текущей темы?

Тогда в моем коде выглядит что-то вроде:

public Brush TabItemBrush
{
    get
    {
        return IsContentSet ?  (Brush)UIUtilities.GetValueFromStyle(typeof(TabItem), Control.BackgroundProperty) : Brushes.LightSkyBlue;
    }
}
<TabItem Header="Some Header" Background="{Binding TabItemBrush, Mode=OneWay}">

Когда IsContentSet == true, он будет использовать кисть по умолчанию, а когда false - другую кисть в этом случае LightSKyBlue

...