c# – 在uwp的xaml布局中访问.resx字符串资源
发布时间:2020-12-15 23:31:49 所属栏目:百科 来源:网络整理
导读:我想直接在我的xaml布局中访问资源,官方 doc给我们一些不好的例子,所以我无法让它工作.假设有以下Resources.resw: 我可以从C#类访问我的字符串资源,如下所示: var loader = new ResourceLoader(); var resourceString = loader.GetString("txt_ok"); 例如,
我想直接在我的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"/> 我在here或here尝试了一些例子,但没有成功 解决方法
在UWP应用程序中,当您在资源文件中定义字符串资源时,此字符串的Name属性可以是“Name”或“Name.Property”.
在xaml代码中,我们使用Uid属性将控件与资源相关联,但是当我们在xaml代码中使用资源时,我们必须将指定的属性添加到资源的名称,以防控件不知道应该对字符串应用什么属性资源. 这在后面的代码中是相同的,您可以使用资源 var loader = new ResourceLoader(); var resourceString = loader.GetString("txt_ok"); 但您仍需要将此resourceString设置为TextBlock的Text属性,例如: txt.Text = resourceString; 因此,如果要在xaml代码中直接使用字符串资源,则需要编辑资源文件,如下所示: 现在,您可以将TextBlock与您的资源相关联,如下所示: <TextBlock x:Uid="txt_cancel" /> 或者像这样(不是100%正确,它取决于资源文件的位置): <TextBlock x:Uid="/Resources/txt_settings" /> 加成: 当您为TextBlock应用此资源时: <TextBlock x:Uid="MyApp" /> 你会看见: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |