设置x:来自C#的字符串值

时间:2015-05-19 03:27:37

标签: c# windows xaml windows-runtime

在我的app.xaml中我有这个

<Application.Resources>
    <!-- Application-specific resources -->

    <x:String x:Key="AppName">My Application</x:String>

</Application.Resources>

但实际上我已经在我的常量代码中设置了这样的例子。

public const string AppName = "Test App";

我可以将AppName从app.xaml设置为该常量吗?我知道只需编辑app.xaml就更简单了。但我有更多的情况。

1 个答案:

答案 0 :(得分:-1)

C#语法中const的含义意味着您将无法更改它。 const意味着编译器将用该值替换该变量的任何用法。基本上意味着编译后的时间,没有变化的机会。 如果那不是const那么你可以使用ResourceManager来获取值并用它设置变量。

可以使用像

这样的密钥访问Xaml的资源
 this.Resources["AppName"]

但Application.Resources不是为存储字符串值而设计的。相反,应该使用正常的.Net资源。如果您使用的是Visual Studio,则可以通过在Visual Studio中向项目添加资源文件来轻松实现此目的。如果你调用资源文件让我们说'MyValues.resx',那么visual Studio将为你构建并维护一个名为MyValues的生成类。如果你打开它并简单地添加一个字符串,那么调用它就可以说'MyApplicationTitle'然后,只需在你的C#代码中就可以像这样使用它

public static string AppName = MyValues.MyApplicationTitle