WPF-从主题重新定义资源?

WPF-从主题重新定义资源?,wpf,themes,staticresource,redefine,Wpf,Themes,Staticresource,Redefine,我使用的主题是我的项目参考中的一个DLL中提供的,如下所示: <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/SomeNameSpace;component/Themes/SomeThe

我使用的主题是我的项目参考中的一个DLL中提供的,如下所示:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/SomeNameSpace;component/Themes/SomeTheme.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
(当我找到钥匙时,我不会像在多个字典中一样断开钥匙)

用法:

var lightGray = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
ReplaceResource(Application.Current.Resources, "KeyToFind", lightGray);

这有帮助吗:?我试过了,但运气不好。但我认为这不适用于我的情况
void ReplaceResource(ResourceDictionary _res, object _key, object _replacement)
    {
        foreach (var i in _res.Keys)
        {
            if (object.Equals(i, _key))
            {
                _res[i] = _replacement;
            }
        }

        foreach (var i in _res.MergedDictionaries)
        {
            ReplaceResource(i, _key, _replacement);
        }
    }
var lightGray = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
ReplaceResource(Application.Current.Resources, "KeyToFind", lightGray);