【问题标题】:WPF MenuItem input gesture text in different locales不同区域设置中的 WPF MenuItem 输入手势文本
【发布时间】:2013-06-08 03:17:48
【问题描述】:

我有一个带有菜单的 WPF 程序。我将菜单设置如下

<Menu Height="23" Name="menu" DockPanel.Dock="Top" VerticalAlignment="Top" ItemsSource="{Binding}">
        <MenuItem Header="_File" Name="fileMenuItem">
            <MenuItem Command="ApplicationCommands.New"/>
            <MenuItem Command="ApplicationCommands.Open"/>
            <MenuItem Command="ApplicationCommands.Save"/>
            <MenuItem Command="ApplicationCommands.SaveAs"/>
            <MenuItem Header="Save All" />
        </MenuItem>
        <MenuItem Header="_Edit" Name="editMenuItem">
            <MenuItem Command="ApplicationCommands.Copy"/>
            <MenuItem Command="ApplicationCommands.Cut"/>
            <MenuItem Command="ApplicationCommands.Paste"/>
        </MenuItem>
    </Menu>

当程序运行时,我在菜单“文件”和“编辑”下的菜单项的输入手势文本有不同的语言环境。 “文件”下的项目是德语(例如 Strg+N),但“编辑”下的项目是英语(例如 Ctrl+C)。加上所有标题都是德语(例如Öffnen)。我没有在代码中的任何位置设置与语言环境有关的任何内容。

我的系统是德语版的 Windows 7,英文版的 Visual Studio 2012。不确定这是否与它有关。

【问题讨论】:

    标签: wpf locale menuitem


    【解决方案1】:

    为程序设置系统默认语言需要在App.xaml.cs中添加处理程序:

    private void Application_Startup(object sender, StartupEventArgs e)
    {
         FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
         new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentUICulture.IetfLanguageTag)));
    }
    

    在 App.xaml 中:

    <Application ... Startup="Application_Startup">
    

    设置特定语言系统可以为线程设置参数:

    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
    

    但在您的情况下,很可能未安装使用德语语言的卫星程序集。

    看到这个:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/9d3f9534-4a10-4860-90b5-d2ea5c967fca

    【讨论】:

    • 感谢您的提示,但很抱歉,您的任何建议都对我不起作用,除了德语卫星组件,我还没有弄清楚它是如何工作的,但它可能是提示下一步!顺便说一句,当我在 MainWindow 的构造函数中设置文化信息时,我得到了一个非常奇怪的 XML 解析器异常。
    猜你喜欢
    • 2018-07-29
    • 2010-10-16
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多