Mic*_*Mic 10 xaml localization windows-8 winrt-xaml visual-studio-2012
我正在编写一个win8应用程序,并将使用内置的资源管理系统:我的XAML代码中的resw文件和x:Uid标签.
所以我创建让我们TextBox这样说:
<TextBlock Style="{StaticResource HeaderTextStyle}" x:Uid="ResourceTest"/>
Run Code Online (Sandbox Code Playgroud)
我在程序集中使用ResourceTest.Text条目创建相应的资源文件,它工作正常:在运行时显示正确的文本.
现在,我想将所有resx文件移动到另一个C#库以保持可维护性.所以我将资源文件放在一个全新的项目中,并从主程序集中引用这个新程序集.
但这会导致先前的构造失败(不显示文本).
但是,如果我使用以下代码从侧面程序集(称为ResourcesLibrary)中以编程方式检索资源值,我会正确获取字符串:
static ResourceLoader resourceLoader = null;
public static string GetString(string resourceName)
{
if (resourceLoader == null)
resourceLoader = new ResourceLoader ("ResourcesLibrary/Resources");
return resourceLoader.GetString (resourceName);
}
Run Code Online (Sandbox Code Playgroud)
x:Uid在处理程序集外资源时如何启用该机制?
我试图在一些事情x:Uid,如ResourcesLibrary/Resources/ResourceTest,但没有运气.
Cri*_*126 14
我有很长一段时间遇到同样的问题.但经过一点点测试后,我通过编写XAML代码中的整个资源路径来解决它.
像这样的东西:
<TextBlock x:Uid="/ResourcesLibrary/Resources/ResourceTest" />
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个答案来得很晚,但它可以帮助其他人.
| 归档时间: |
|
| 查看次数: |
3996 次 |
| 最近记录: |