3

我正在将应用程序从 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"/>的工作没有任何问题。

4

1 回答 1

1

我们不能x:UidSetter.

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

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

您应该可以x:UidButton.

例如:

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

您应该能够设置Resources.reswMyButton.AutomationProperties.NameName和。YourValueValue

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

于 2017-05-25T07:10:14.820 回答