Files
Sleep-Multi-functionality/Resources/ResourceManager.cs

46 lines
1.4 KiB
C#
Raw Normal View History

2026-05-07 16:51:45 +08:00
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中使用