Skip to content

Commit 1320e96

Browse files
Merge pull request #92 from atc-net/hotfix/nice-window-culture-issue
Hotfix/nice window culture issue
2 parents d1533b3 + 9fd7f0b commit 1320e96

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

src/Atc.Wpf.Theming/Controls/Windows/NiceWindow.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,6 +1116,7 @@ public NiceWindow()
11161116

11171117
DataContextChanged += OnDataContextChanged;
11181118
Loaded += OnLoaded;
1119+
ContentRendered += OnContentRendered;
11191120
}
11201121

11211122
private void OnLoaded(
@@ -1135,6 +1136,13 @@ private void OnLoaded(
11351136
}
11361137
}
11371138

1139+
private static void OnContentRendered(
1140+
object? sender,
1141+
EventArgs e)
1142+
=> CultureManager.SetCultures(
1143+
GlobalizationConstants.EnglishCultureInfo,
1144+
CultureManager.UiCulture);
1145+
11381146
private void InitializeSettingsBehavior()
11391147
{
11401148
Interaction.GetBehaviors(this).Add(new WindowsSettingBehavior());

src/Atc.Wpf/Translation/CultureManager.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ public static CultureInfo UiCulture
4343

4444
var oldUiCulture = new CultureInfo(uiCulture.LCID);
4545
uiCulture = value;
46-
Thread.CurrentThread.CurrentUICulture = value;
46+
47+
CultureInfo.DefaultThreadCurrentUICulture = value;
48+
Thread.CurrentThread.CurrentUICulture = CultureInfo.DefaultThreadCurrentUICulture;
4749
if (SynchronizeThreadCulture)
4850
{
4951
SetBackendCulture(value);
@@ -133,8 +135,10 @@ public static void SetBackendCulture(
133135
{
134136
ArgumentNullException.ThrowIfNull(backendCultureInfo);
135137

136-
Thread.CurrentThread.CurrentCulture = backendCultureInfo.IsNeutralCulture
138+
CultureInfo.DefaultThreadCurrentCulture = backendCultureInfo.IsNeutralCulture
137139
? CultureInfo.CreateSpecificCulture(backendCultureInfo.Name)
138140
: backendCultureInfo;
141+
142+
Thread.CurrentThread.CurrentCulture = CultureInfo.DefaultThreadCurrentCulture;
139143
}
140144
}

tool/Atc.Wpf.Generator.FontIconResources/App.xaml.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,10 @@ await host
103103
.StartAsync()
104104
.ConfigureAwait(false);
105105

106-
Thread.CurrentThread.CurrentUICulture = GlobalizationConstants.EnglishCultureInfo;
106+
CultureManager.SetCultures(
107+
GlobalizationConstants.EnglishCultureInfo,
108+
GlobalizationConstants.EnglishCultureInfo);
109+
107110
ThemeManager.Current.ChangeTheme(Current, "Light.Blue");
108111

109112
var mainWindow = host

tool/Atc.Wpf.Generator.FontIconResources/GlobalUsings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
global using Atc.Wpf.Command;
1414
global using Atc.Wpf.Diagnostics;
1515
global using Atc.Wpf.Mvvm;
16-
16+
global using Atc.Wpf.Translation;
1717
global using ControlzEx.Theming;
1818

1919
global using CSSParser.ContentProcessors;

0 commit comments

Comments
 (0)