首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#覆盖资源字典中的WPF重写键

使用C#覆盖资源字典中的WPF重写键
EN

Stack Overflow用户
提问于 2021-02-09 17:22:51
回答 1查看 164关注 0票数 0

我有一个带有如下资源字典的wpf应用程序:

代码语言:javascript
运行
复制
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <Color x:Key="Primary200">#FFE6FDF9</Color>
  <Color x:Key="Primary500">#FF00E6BE</Color>
  <Color x:Key="Primary700">#FF01987F</Color>

  <SolidColorBrush x:Key="Background" Color="{StaticResource Primary500}"/>
</ResourceDictionary>

但现在-在应用程序启动时,我有时想要更改颜色。

我尝试了这样的东西:

代码语言:javascript
运行
复制
<Application x:Class="ResourceTest.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <Application.Resources>
      <ResourceDictionary Source="pack://application:,,,/ResourceTest;component/Colors.xaml"/>
  </Application.Resources>
</Application>


public partial class App 
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        Resources.Remove("Primary500");
        Resources.Add("Primary500", Colors.Red);

        var mainWindow = new MainWindow();
        mainWindow.Show();
    }
}

这里的问题是“背景”没有改变,因为它已经用原始颜色进行了评估。

最后,新的颜色是从配置文件中读取的-所以我在编译时不知道它。你知道如何处理这个问题吗?

提前谢谢你

EN

Stack Overflow用户

回答已采纳

发布于 2021-02-09 17:35:52

我假设您在Application.Resources中引用了您的ResourceDictionary

代码语言:javascript
运行
复制
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="YourDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>        
</Application.Resources>

在这种情况下,您必须使用DynamicResource而不是StaticResource

代码语言:javascript
运行
复制
<SolidColorBrush x:Key="Background" Color="{DynamicResource Primary500}"/>
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66116104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档