This commit is contained in:
45
Resources/ResourceManager.cs
Normal file
45
Resources/ResourceManager.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
public class ResourceManager
|
||||
{
|
||||
//public static void SwitchLanguage(string culture)
|
||||
//{
|
||||
// var uri = new Uri($"/Resources/Strings.{culture}.xaml", UriKind.Relative);
|
||||
// var resourceDict = Application.LoadComponent(uri) as ResourceDictionary;
|
||||
|
||||
// Application.Current.Resources.MergedDictionaries.Clear();
|
||||
// Application.Current.Resources.MergedDictionaries.Add(resourceDict);
|
||||
//}
|
||||
|
||||
public static void SwitchLanguage(string culture)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 保存到App.config
|
||||
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
|
||||
config.AppSettings.Settings["Language"].Value = culture;
|
||||
config.Save(ConfigurationSaveMode.Modified);
|
||||
ConfigurationManager.RefreshSection("appSettings");
|
||||
|
||||
// 切换语言
|
||||
var resourceDict = new ResourceDictionary
|
||||
{
|
||||
Source = new Uri($"/Resources/Strings.{culture}.xaml", UriKind.Relative)
|
||||
};
|
||||
|
||||
Application.Current.Resources.MergedDictionaries.Clear();
|
||||
Application.Current.Resources.MergedDictionaries.Add(resourceDict);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"切换语言失败: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 在SelectionChanged中使用
|
||||
|
||||
|
||||
Reference in New Issue
Block a user