为给定类型的所有控件设置默认属性

时间:2016-04-15 17:54:10

标签: c# wpf

说,我希望默认情况下将所有Scrollbars背景属性设置为红色。

我希望效果类似于此xaml的结果:

<ScrollBar Background="Red" />

现在,我在app类的构造函数中的某处编写了这段代码:

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

这不起作用,窗口上的滚动条在运行时不是红色,这很正常。

我认为我在这里做错了什么,但无法确切地知道究竟是什么。有人能指点我解决方案吗?

1 个答案:

答案 0 :(得分:2)

您正在申请资源中寻找默认样式:

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