C# wpf - 从 xml 文件加载的 MenuItem 标头(使用加速器 [alt 单击] 快捷方式)
我正在尝试创建一个多语言 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”,而不是“文件”(和加速器)。
提前致谢, 喧嚣。
I am trying to create a Multi-Language WPF program that will load it's languages from an xml path, though i'm having problem loading a MenuItem translation and give it it's accelerator.
Here's the main code:
<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}"/>
Here's how my language file looks like:
<?xml version="1.0" encoding="utf-8" ?>
<Language>
<MainWindow>
<MenuItems>
<MenuItemFile Header="File" />
</MenuItems>
</MainWindow>
</Language>
My problem is:
in this state of the language file it's all ok, but when i am trying to change the Header of MenuItemFile to "_File" (to give it an accelerator option), the program starts and gives the File menu the Header "_File" and not "File" (and an accelerator).
Thanks in advanced,
Din.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
绑定到
AccessText
而不是直接绑定到Header
:Bind to
AccessText
instead of binding toHeader
directly: