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

标签 c# wpf

假设,我想让所有滚动条背景属性默认为红色。

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

<ScrollBar Background="Red" />

现在,我在应用程序类的构造函数中的某个位置编写此代码:

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

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

我认为我在这里做错了什么,但无法找出到底是什么。有人能指出我的解决方案吗?

最佳答案

您正在寻找应用程序资源中的默认样式:

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

关于c# - 为给定类型的所有控件设置默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36653837/

相关文章:

c# - 设计一个F#模块被C#调用(Console/MVC/WPF)

c# - 何时调用 WebResponse.Close()

具有 SQL Server 应用程序角色的 C# : Cannot continue the execution because the session is in the kill state

c# - 将方法添加到字典以供用户选择

c# - MaskedEditValidator 在使用 "en-GB"文化时导致 Page.IsValid 为假

无法识别 wpf 自定义控件

c# - 在 lambda 表达式中使用可变字段名称

c# - 在 WPF 中将事件绑定(bind)到属性,反之亦然

wpf - Prism MVVM - 模块

c# - WPF 可重用 Style.Triggers