在UWP Style Setter中使用字符串资源

时间:2017-05-21 03:30:13

标签: localization uwp uwp-xaml multilingual-app-toolkit

我正在将应用从Windows 8迁移到UWP。该应用使用字符串资源进行本地化。 在Windows 8中,我曾经这样做来本地化AppBar按钮:

<Style x:Key="SkipAheadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
    <Setter Property="AutomationProperties.AutomationId" Value="SkipAheadAppBarButton"/>
    <Setter x:Uid="Step" Property="AutomationProperties.Name" Value=".skip"/>
    <Setter Property="Content" Value="&#xE101;"/>
</Style>

然后我会为“Step.Value”添加一个字符串。由于某些原因在Visual Studio 2017中的UWP项目中不起作用。该按钮显示“.skip”而不是Resources.resw中Step.Value的实际值。

更简单的<Run x:Uid="App" Text=".Rob"/>没有任何问题。

1 个答案:

答案 0 :(得分:1)

我们无法使用x:Uid中的Setter

  

使用x:Uid标识XAML中的对象元素。通常,此对象元素是控件类的实例或在UI中显示的其他元素。

有关详细信息,请参阅x:Uid directive的备注。

您应该可以在x:Uid中添加Button

例如:

<Button  x:Uid="MyButton" AutomationProperties.Name="AddToIndexButton" Content="Button"></Button>

您应该可以将MyButton.AutomationProperties.Name设置为NameYourValue设置为Resources.resw的Value

我还测试了<Run x:Uid="App" Text=".Rob"/>,它会抛出异常。如果你可以在UWP中使用它,你能给我们一个样品吗?