C#wpf-从xml文件加载的MenuItem头(使用加速器[alt clicking]快捷方式)
我正在尝试创建一个多语言WPF程序,该程序将从xml路径加载它的语言,尽管我在加载MenuItem翻译并为其提供加速器时遇到了问题 以下是主要代码:C#wpf-从xml文件加载的MenuItem头(使用加速器[alt clicking]快捷方式),c#,wpf,menuitem,C#,Wpf,Menuitem,我正在尝试创建一个多语言WPF程序,该程序将从xml路径加载它的语言,尽管我在加载MenuItem翻译并为其提供加速器时遇到了问题 以下是主要代码: <Window.Resources> <XmlDataProvider x:Key="Lang" Source="/lang/english.xml" XPath="Language/MainWindow"/> </Window.Resources> <MenuItem Header="{Bindi
<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的标题更改为“\u file”(为其提供加速器选项)时,程序启动并为文件菜单提供标题“\u file”,而不是“file”(和加速器)
提前感谢,
Din.绑定到
AccessText
而不是直接绑定到标题
:
<MenuItem>
<MenuItem.Header>
<AccessText Text="{Binding Source={StaticResource Lang}, XPath=MenuItems/MenuItemFile/@Header}"/>
</MenuItem.Header>
</MenuItem>
您知道WPF内置的本地化结构,对吗?