将UserControl转换为ResourceDictionary

时间:2014-10-05 16:45:11

标签: wpf user-controls resourcedictionary

我想在WPF中尝试这种全球化的事情: http://www.codeproject.com/Articles/515960/Globalization-in-WPF-using-ResourceDictionary

不幸的是,第二步让我已经说过:将UserControl转换为ResourceDictionary

我怎样才能实现这一目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,您创建一个简单的UserControl并根据需要为其命名。 然后打开.xaml文件并将<UserControl更改为<ResourceDictionary

然后你必须打开UserControl的de .xaml.cs文件,并将两个属性(括号[]之间的属性)添加到类中:

[ExportMetadata("Culture", "en-US")]
[Export(typeof(ResourceDictionary))]
public partial class EnglishLanguage : ResourceDictionary
{
    public EnglishLanguage()
    {
        InitializeComponent();
    }
}

使用对使用列表的引用添加: using System.ComponentModel.Composition;

编译器会通知您ExportMetadataExport并且无法解析使用引用。这是因为您需要手动将组合DLL的引用添加到项目中。

在您项目下的解决方案资源管理器中,右键单击References,然后点击Add reference。将在Assembly - Framework下方弹出可用DLL文件列表。 选中System.ComponentModel.Composition复选框,单击“确定”并构建项目。

现在你已经全部设定了;)