我正在将应用从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=""/>
</Style>
然后我会为“Step.Value”添加一个字符串。由于某些原因在Visual Studio 2017中的UWP项目中不起作用。该按钮显示“.skip”而不是Resources.resw中Step.Value的实际值。
更简单的<Run x:Uid="App" Text=".Rob"/>
没有任何问题。
答案 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
设置为Name
,YourValue
设置为Resources.resw的Value
。
我还测试了<Run x:Uid="App" Text=".Rob"/>
,它会抛出异常。如果你可以在UWP中使用它,你能给我们一个样品吗?