Как локализовать кнопки AppBar

У меня есть приложение Windows 8 Metro, созданное из шаблона Grid Application. Мне нужно локализовать кнопки в AppBar. Обычно я использую x: Uid и .resw для локализации, но это не работает для кнопок навигации в AppBar.

Например, для кнопки «Домой» мне нужно локализовать текст «Домой». Текст "Home" определен в StandardStyles.xaml следующим образом:

<Setter Property="AutomationProperties.Name" Value="Home"/>

Я попытался определить HomeButton.AutomationProperties.Name в resw, но получаю

Не удалось разрешить свойство AutomationProperties.Name при обработке свойств для Uid

Кто-нибудь может помочь?


person Igor Kulman    schedule 07.04.2012    source источник


Ответы (1)


взгляните на http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965329.aspx, где показано, как использовать правильный синтаксис RESW для такого присоединенного свойства. Итак, если вы используете стили кнопок, вы можете сделать что-то вроде этого:

<Button Style="{StaticResource HomeAppBarButtonStyle}" x:Uid="HomeButton" />

И тогда в вашем RESW у вас будет:

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

как ваше ключевое значение.

Надеюсь это поможет!

person Tim Heuer    schedule 09.04.2012
comment
Возможно, стоит отметить, что в настоящее время эта функция работает только в том случае, если ваш файл ресурсов имеет имя файла по умолчанию Resources.resw. - person jheriko; 20.05.2012
comment
Я попытался добавить uid к своему стилю кнопки, но это не сработало, поэтому похоже, что у вас не может быть локализованных свойств в стиле. - person Richard Garside; 23.05.2012
comment
Похоже, эта статья была удалена. Есть замена? Это все еще рекомендуемый путь? - person Josh Santangelo; 02.08.2012