2016-04-15 4 views
2

Скажем, я бы хотел, чтобы все свойства фона прокрутки были красными по умолчанию.Установить свойство по умолчанию для всех элементов управления данного типа

Я хочу, чтобы эффект будет аналогичен результату этого XAML:

<ScrollBar Background="Red" /> 

Сейчас я пишу этот код где-то в конструкторе класса приложения:

Control.BackgroundProperty.OverrideMetadata(typeof(ScrollBar), 
    new FrameworkPropertyMetadata(Brushes.Red, 
     FrameworkPropertyMetadataOptions.Inherits)); 

И это Безразлично Не работает, полоса прокрутки в окне не красная во время выполнения, это нормально.

Я предполагаю, что здесь что-то не так, но не могу понять, что именно. Может ли кто-нибудь указать мне на решение?

ответ

2

Вы ищете стиль по умолчанию в ваших ресурсах Применения:

<Application.Resources> 
    <Style TargetType="ScrollBar"> 
     <Setter Property="Background" Value="Red"/> 
    </Style> 
</Application.Resources> 
+0

Спасибо за быстрый réponse. Но, может быть, вы знаете, что не так с моим подходом? Я не вижу причин, почему это не должно работать одинаково. – kosmakoff

+0

В структуре, определенном по умолчанию, установлен стиль ScrollBar Style, а значение свойства из Style Setter имеет более высокий приоритет, чем значение по умолчанию из метаданных свойств. – Clemens

+0

Звучит законно, я никогда не пытался проверить эту вещь в этом списке приоритетов. Благодарю. – kosmakoff

Смежные вопросы