如何在代码后台创建ResourceDictionary?

3
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib">

    <sys:String x:Key="one">ONE</sys:String>
    <sys:String x:Key="two">TWO</sys:String>
    <sys:String x:Key="three">THREE</sys:String>
</ResourceDictionary>

现在想通过WPF中的代码后台,用C#动态创建与上述相同的资源字典(ResourceDictionary)。是否有可能创建?

2个回答

5
public MainWindow()
    {
        InitializeComponent();
        DataContext = new MainViewModel();
        ResourceDictionary rd = new ResourceDictionary();
        rd.Add("one", "ONE");
        rd.Add("two", "TWO");
        rd.Add("three", "THREE");
        this.Resources.MergedDictionaries.Add(rd);
    }

希望这能有所帮助。


我想创建一个新的资源字典(German.xml)。例如,我有两个ResourceDictionary用于英语和西班牙语。然后我想动态地添加另一种语言——德语。 - CHANDRA
我认为你把Resource文件和ResourceDictionary混淆了。 - yo chauhan
如果我在代码后台动态添加值到资源字典中,那么我添加的这个值不应该保存到资源字典中。 - CHANDRA

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接