gpt4 book ai didi

c# - 如何在 WPF 中为 GUI 创建皮肤?

转载 作者:行者123 更新时间:2023-11-30 17:03:59 29 4
gpt4 key购买 nike

我想知道我应该如何为所有配色方案等创建自定义设置。我知道我可以为单个组件或部分创建样式..但我应该如何创建一组皮肤?

例如,现在我在很多子控件中使用栗色渐变画笔。但是,我敢肯定,除了我之外,其他人都会讨厌这种配色方案。

我知道我可以在我的顶级控件上为颜色创建一个依赖属性,然后将需要该颜色的各个部分绑定(bind)到该依赖属性。但是,需要有很多属性。我是否应该创建一个包含所有这些属性的单独样式对象并将其作为字段放置在我的用户控件中?

我只是想知道在 WPF 中是否还有其他方法可以做到这一点。例如,我想可能有一些方法可以在 xaml 中执行此操作或利用默认库中的一些内置类。

最佳答案

您可以通过创建新的资源字典并在那里为您的控件定义颜色和控件模板来做到这一点。

您可以在 WPF Themes 中找到示例项目 ( download link )。

你可以通过改变资源字典来改变你的风格,例如:

<Application x:Class="ThemesSample.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
<Application.Resources>
<ResourceDictionary Source="ExpressionDark.xaml"/>
</Application.Resources>
</Application>

如果你想在运行时改变主题你应该使用下面的代码:

ResourceDictionary dict = new ResourceDictionary();
dict.Source = new Uri("BureauBlack.xaml", UriKind.Relative);
this.Resources.MergedDictionaries.Add(dict);

关于c# - 如何在 WPF 中为 GUI 创建皮肤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037445/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com