C # wpf - MenuItem Заголовок, который загружается из XML-файла (с ярлыком [Alt Нажатие]) - PullRequest
0 голосов
/ 16 февраля 2011

Я пытаюсь создать многоязычную программу WPF, которая будет загружать свои языки по пути xml, хотя у меня возникают проблемы с загрузкой перевода MenuItem и передачей его ускорителя.

Вот основной код:

<Window.Resources>
    <XmlDataProvider x:Key="Lang" Source="/lang/english.xml" XPath="Language/MainWindow"/>
</Window.Resources>
<MenuItem Header="{Binding Source={StaticResource Lang}, XPath=MenuItems/MenuItemFile/@Header}"/>

Вот как выглядит мой языковой файл:

<?xml version="1.0" encoding="utf-8" ?>
<Language>
    <MainWindow>
    <MenuItems>
        <MenuItemFile Header="File" />
    </MenuItems>
    </MainWindow>
</Language>

Моя проблема: в этом состоянии языкового файла все нормально, но когдая пытаюсь изменить заголовок MenuItemFile на «_File» (чтобы дать ему возможность ускорителя), программа запускается и дает меню «Файл» заголовок «_File», а не «File» (и ускоритель).

Спасибо заранее, Дин.

1 Ответ

1 голос
/ 16 февраля 2011

Привязка к AccessText вместо привязки к Header напрямую:

<MenuItem>
    <MenuItem.Header>
        <AccessText Text="{Binding Source={StaticResource Lang}, XPath=MenuItems/MenuItemFile/@Header}"/>
    </MenuItem.Header>
</MenuItem>
...