在Windows 8中,您可以使用以下内容设置内容或文本属性:x:UiD="SomeText"
这将从资源文件加载id为SomeText的文本。
不幸的是,这不适用于HyperLinkButtons,内容属性不会从资源文件加载。
有人知道如何从资源文件中设置HyperLinkButton的内容吗?
以及如何为其他财产做到这一点?与AutomationProperties.Name
答案 0 :(得分:3)
回答第二个问题:您可以在资源文件中使用以下名称:
SomeText.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name
答案 1 :(得分:1)
您可以尝试以下内容:
<HyperlinkButton>
<TextBlock x:UiD="SomeText" .../>
</HyperlinkButton>
或更详细:
<HyperlinkButton>
<HyperlinkButton.Content>
<TextBlock x:UiD="SomeText" .../>
</HyperlinkButton.Content>
</HyperlinkButton>
另一种解决方案,是通过绑定通过ViewModel提供本地化字符串。如下所示:
<TextBlock Text="{Binding ALocalizedLabel}"/>
<Button AutomationProperties.Name="{Binding AnotherLocalizedLabel}" .../>
这种解决方案的一个缺点是由于地铁的简约绑定系统。您无法提供默认(后备)值。一个优点是它使您的XAML更容易混淆和更易读。