【问题标题】:wpf how to update Windowwpf如何更新窗口
【发布时间】:2011-01-11 21:26:27
【问题描述】:

我已将我的应用程序设为多语言。当您单击相应的菜单项时,它会更改其语言。这很好用,但是当我的父窗口没有改变它的语言(菜单在父窗口中)时,我的问题就出现了。所有子窗口都会更改其语言。有没有办法强制窗口再次加载?我已经使用 resx 文件完成了我的应用程序,并且还检查了单击 menuitem 时 Thread.CurrentThread.CurrentCultureThread.CurrentThread.CurrentUICulture 是否发生了更改。

编辑:

我已经创建了自己的课程来完成多语言部分,这是对本文方法的改编:WPF Runtime Localization,它有效。这是我的 XAML 代码的一部分,用于显示数据绑定:

<Window x:Class="Multilingual.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:properties="clr-namespace:Multilingual.Properties" 
    Height="350" Width="300" Name="mainWindow" ResizeMode="CanMinimize" SizeToContent="Manual" Closing="mainWindow_Closing" KeyDown="mainWindow_KeyDown">

 <Menu Height="22" Name="menu" Width="{Binding ElementName=mainWindow, Path=Width}" HorizontalAlignment="Left" VerticalAlignment="Top" Background="Snow" BorderThickness="2">
        <Menu.BitmapEffect>
            <DropShadowBitmapEffect />
        </Menu.BitmapEffect>
        <MenuItem Header="{x:Static properties:Resources.Menu}">
            <MenuItem Header="{x:Static properties:Resources.Language}" >
                <MenuItem Header="{x:Static properties:Resources.Deutsch}" Name="itemDeutsch" Click="menuItem_Click" />
                <MenuItem Header="{x:Static properties:Resources.English}" Name="itemEnglish" Click="menuItem_Click" />
            </MenuItem>
            <MenuItem Header="{x:Static properties:Resources.Exit}" Click="itemExit_Click"/>
        </MenuItem>
    </Menu>

所以我认为如果我能够以某种方式更新窗口就足够了。

【问题讨论】:

  • 你的绑定是什么样的?

标签: wpf multilingual


【解决方案1】:

【讨论】:

  • 是的,感谢您提供的链接。但是因为我有那些 resx 文件,所以我想知道是否有任何方法可以刷新 XAML 和我的数据绑定。然后我的应用程序将完全使用正确的语言。
【解决方案2】:

我找到了解决方案。我将数据绑定更改为如下所示:

<MenuItem Header="{Binding Path=Menu, Source={StaticResource Resources}}">

其中“Menu”对应于 resx 文件中 MenuItem 的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多