我想直接在我的xaml布局中访问资源,官方doc给我们一些不好的例子,所以我无法让它工作。假设遵循Resources.resw
:
我可以像这样从C#类访问我的字符串资源:
var loader = new ResourceLoader();
var resourceString = loader.GetString("txt_ok");
如何在xaml中访问此资源以获取TextBlock
文本?
<TextBlock
x:Name="MyTextBox"
Text="I want to get string resource here"/>
答案 0 :(得分:7)
在UWP应用程序中,当您在资源文件中定义字符串资源时,此字符串的Name
属性可以是&#34; Name&#34;或&#34; Name.Property&#34;。
在xaml代码中,我们使用Uid
属性将控件与资源相关联,但是当我们在xaml代码中使用资源时,我们必须将指定的属性添加到资源的名称中,以防控件don& #39;不知道应该对字符串资源应用什么属性。
这与后面的代码相同,您可以使用
获取资源 var loader = new ResourceLoader();
var resourceString = loader.GetString("txt_ok");
但您仍然需要将此resourceString
设置为Text
的{{1}}属性,例如:
TextBlock
因此,如果您想在xaml代码中直接使用字符串资源,则需要编辑资源文件,如下所示:
现在,您可以将txt.Text = resourceString;
与您的资源相关联:
TextBlock
或者像这样(不是100%正确,它取决于资源文件的位置):
<TextBlock x:Uid="txt_cancel" />
<强>增加:强> 您还可以在资源文件中定义其他属性,例如:
当您为<TextBlock x:Uid="/Resources/txt_settings" />
:
TextBlock
你会看到:
答案 1 :(得分:0)
使用C#代码访问字符串资源属性
drawer: {
left: {
screen: 'ScreenName'
}
}
https://liftcodeplay.com/2015/11/08/accessing-resource-strings-via-code-in-uwp/