Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法显示资源文件中的文本_C#_Wpf_String_Properties_Resources - Fatal编程技术网

C# 无法显示资源文件中的文本

C# 无法显示资源文件中的文本,c#,wpf,string,properties,resources,C#,Wpf,String,Properties,Resources,我已经创建了非常简单的WPF应用程序来测试,如何从Resources.Designer.cs获取字符串并在代码隐藏中使用它。 在此文件(Res.Designer)中,有一个属性可提供所述字符串: internal static string MyText { get { return ResourceManager.GetString("MyText", resourceCulture); } } 在代码隐藏中,我尝试使用字符串修改TextBlock: priv

我已经创建了非常简单的WPF应用程序来测试,如何从Resources.Designer.cs获取字符串并在代码隐藏中使用它。 在此文件(Res.Designer)中,有一个属性可提供所述字符串:

internal static string MyText {
    get {
        return ResourceManager.GetString("MyText", resourceCulture);
    }
}
在代码隐藏中,我尝试使用字符串修改TextBlock:

private void btnStart_Click(object sender, RoutedEventArgs e) {
    tbShow.Text = Properties.Resources.MyText;
}
整个应用程序编译正确,但当我启动它并单击“合格”按钮时,textblock仍然保持不变。我在哪里会犯错? 根据调试器,构造
Properties.Resources.MyText
返回空字符串


非常感谢。

您考虑过资源字典吗?您需要向mscorlib添加一个引用(xmlns)。然后可以使用x:键定义字符串。将该资源字典合并到app.xaml中,然后可以使用application.current.resources[“yourkey”]将其用作静态或动态源或引用。看起来您没有为键MyText指定值。最简单的方法是通过单击Resources.resx文件打开资源设计器。它将显示一个表,您可以在其中输入键和值,如MyText—这是文本。最后,我已经解决了Andy提到的资源字典的问题。为此,我创建了一个新的ResourceDictionary xaml文件,在代码背后有ResourceDictionary类的实例来获取所选值。它工作正常…:-)