1

在 Windows 8 中,您可以使用以下命令设置 content 或 text 属性:x:UiD="SomeText" 这会从资源文件中加载 ID 为 SomeText 的文本。不幸的是,这对 HyperLinkBut​​tons 不起作用,内容属性不是从资源文件中加载的。

有人知道如何从资源文件中设置 HyperLinkBut​​ton 的内容吗?以及如何为其他属性做到这一点?像AutomationProperties.Name

4

2 回答 2

3

要回答您的第二个问题:您可以在资源文件中使用以下名称:
SomeText.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name

于 2012-10-19T19:00:25.820 回答
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 不那么混乱并且更具可读性。

于 2012-09-08T13:01:24.140 回答