1
我有一個WPF窗口,許多標籤都使用本地化的字符串。例如:絃樂類的如何重新加載WPF窗口中的所有本地化字符串?
<Window x:Class="CoHOLauncher.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:l="clr-namespace:MyNameSpace"
xmlns:loc="clr-namespace:MyNameSpace.Localization">
<Label Grid.Column="0" Content="{x:Static loc:Strings.MainWindowSize}" HorizontalAlignment="Right"/>
詳情如下:
public class Strings {
private static global::System.Globalization.CultureInfo resourceCulture;
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MyNameSpace.Localization.Strings", typeof(Strings).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
public static string MainWindowSize {
get {
return ResourceManager.GetString("MainWindowSize", resourceCulture);
}
}
}
如果我在運行時改變Strings.Culture,如何強制WPF重新加載所有字符串?
我將所有字符串存儲在本地化衛星DLL程序集中,這些程序集是從本地化資源文件生成的。