WPF: укажите язык для встроенных командных меток - PullRequest
0 голосов
/ 13 сентября 2010

Я использую встроенный ApplicationCommands для создания меню:

<Menu DockPanel.Dock="Top">
    <MenuItem Header="_Datei">
        <MenuItem Command="ApplicationCommands.New" />
        <MenuItem Command="ApplicationCommands.Open" />
        <MenuItem Command="ApplicationCommands.Save" />
        <MenuItem Command="ApplicationCommands.SaveAs" />
        <Separator />
        <MenuItem Header="Been_den" Command="{StaticResource SchliessenCommand}" />
    </MenuItem>
</Menu>

Текст, отображаемый ApplicationCommands, отличается в зависимости от языка системы: работает на английском Windows 7,ApplicationCommands.New отображается как «Новый», тогда как в немецкой Windows 7 он отображается как «Neu».

Поскольку остальная часть приложения не локализована, я хочу, чтобы команды приложения всегда отображались на немецком языке.Есть ли способ сделать это без , вручную установив Header каждого MenuItem?

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Поскольку приложение не локализовано, вы всегда можете установить язык на немецкий; то есть CultureInfo.CurrentUICulture, который обычно наследуется от ОС (установите его при запуске приложения или что-то в этом роде, прежде чем открывать все окна).

0 голосов
/ 13 сентября 2010

Вы должны использовать привязки и манипулировать своими командами как объектами связывания ( RelayCommands ), чтобы избежать жесткого кодирования заголовков ваших различных команд.

...