首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定wpf ResourceDictionary源

绑定wpf ResourceDictionary源
EN

Stack Overflow用户
提问于 2017-03-24 18:55:09
回答 1查看 759关注 0票数 0

在我的app.xaml中,我有太多的样式要加载--这就是列表

代码语言:javascript
复制
    <Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Themes/dark.xaml"/>
            <ResourceDictionary Source="Themes/Orange.xaml"/>
            <ResourceDictionary Source="Controls/Button.xaml"/>
            <ResourceDictionary Source="Controls/CheckBox.xaml"/>
            <ResourceDictionary Source="Controls/Controls.xaml"/>
            <ResourceDictionary Source="Controls/ContextMenu.xaml"/>
            <ResourceDictionary Source="Controls/ScrollBar.xaml"/>
            <ResourceDictionary Source="Controls/ScrollViewer.xaml"/>
......
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

现在,我需要在运行时更改两个firs,可能是为了从Properties.Settings.Default中值值,我不知道我能做什么,我可以搜索这个,但是没有什么东西是找不到的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-24 20:29:33

代码语言:javascript
复制
var newsource1= new Uri("pack://siteoforigin:,,,/resources/xxxx.xaml", UriKind.RelativeOrAbsolute);
var newsource2= new Uri("pack://siteoforigin:,,,/resources/yyyyy.xaml", UriKind.RelativeOrAbsolute);

Application.Current.Resources.MergedDictionaries.Remove(Appl‌​ication.Current.Reso‌​urces.MergedDictiona‌​ries[0]);
Application.Current.Resources.MergedDictionaries.Remove(Appl‌​ication.Current.Reso‌​urces.MergedDictiona‌​ries[1]);

Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = newsource1});
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = newsource2});

因为没有编辑资源字典运行时的功能。实现预期目标的可能解决方案是删除和添加资源字典运行时。

由衷地,

蒂亚古·拉金德兰

**如有帮助,请将答覆标记为答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43007174

复制
相关文章

相似问题

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