2012-11-03 30 views
2

我試圖本地化按鈕的文本。我有以下作爲樣式:WinRT Xaml - 本地化DataTemplate中使用的按鈕樣式

<Style x:Key="MapPinAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}"> 
    <Setter Property="AutomationProperties.AutomationId" Value="MapPinAppBarButton"/> 
    <!--<Setter Property="AutomationProperties.Name" Value="Drag to Map"/>--> 
    <Setter Property="Content" Value="&#xE139;"/> 
</Style> 

此按鈕樣式正在DataTemplate中聲明的按鈕上使用。 UID是設置爲:

x:Uid="DragToMapButton" 

的Resources.resw文件包含一個條目:

DragToMapButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name 

這不是工作,沒有引發異常 - 但我不能捕獲它 - 似乎成爲內部Win32異常。

任何人有任何想法如何正確地本地化這個值?

回答

0

TargetType不是按鈕,而是ButtonBase。

+0

沒有,TargetType的IS按鈕。 – AngryPixel

+0

對不起,我的錯。這很有趣,因爲它昨天不起作用,但現在起作用。 看看這個示例: http://sdrv.ms/Tvtm4z –

+0

示例不正確,該按鈕位於GridView中正在使用的DataTemplate中。一個頁面上的獨立按鈕 - 這工作正常。我不確定如何翻譯按鈕在DataTemplate中的情況。 – AngryPixel

1

你應該分配的UID給設定器

<Setter Property="AutomationProperties.Name" Value="Drag to Map" x:Uid="MapPinAppBarButtonName"/> 

,並添加到資源 「MapPinAppBarButtonName.Value」