cs
复制代码
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="en-us.xaml" />
<ResourceDictionary Source="zh-cn.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
cs
复制代码
public static void UpdateLanguage(string lan)
{
// 获取配置
string requestedLanguage = $"{lan}.xaml";
ResourceDictionary resourceDictionary = Application.Current.Resources.MergedDictionaries.FirstOrDefault(d => d.Source.OriginalString.Equals(requestedLanguage));
Current.Resources.MergedDictionaries.Remove(resourceDictionary);
Current.Resources.MergedDictionaries.Add(resourceDictionary);
// 保存配置
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationManager.AppSettings["Language"] = lan;
config.Save(ConfigurationSaveMode.Modified);
//刷新
ConfigurationManager.RefreshSection("appSettings");
}
html
复制代码
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<!--<TextBlock Text="用户名:" Margin="0,5,0,0"/>-->
<TextBlock Text="{DynamicResource Username}" Margin="0,5,0,0"/>
<TextBox x:Name="txtUsername" Width="200" Height="30" Margin="0,0,15,0"/>
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="{DynamicResource Password}" Margin="0,5,0,0"/>
<PasswordBox x:Name="txtPassword" Width="200" Height="30" Margin="0,0,15,0"/>
</StackPanel>
<StackPanel Grid.Row="3" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="{DynamicResource Login}" Background="#0047AB" Foreground="White" HorizontalAlignment="Right" Click="LoginButton_Click" Width="200" Height="30" Margin="30,0,0,0"/>
</StackPanel>
cs
复制代码
private void LanguageSwitching(object sender, RoutedEventArgs e)
{
App.UpdateLanguage("en-us");
}
cs
复制代码
<ResourceDictionary 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">
<s:String x:Key="OK">Sure</s:String>
<s:String x:Key="Cancle">NoSure</s:String>
<s:String x:Key="Username">UserName:</s:String>
<s:String x:Key="Password">PassWord:</s:String>
<s:String x:Key="Login">Login</s:String>
<s:String x:Key="LanS">简体中文</s:String>
</ResourceDictionary>
cs
复制代码
<ResourceDictionary 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">
<s:String x:Key="OK">确认</s:String>
<s:String x:Key="Cancle">取消</s:String>
<s:String x:Key="Username">用户名:</s:String>
<s:String x:Key="Password">密码:</s:String>
<s:String x:Key="Login">登录</s:String>
<s:String x:Key="LanS">English</s:String>
</ResourceDictionary>