Fix the issue with Chinese fonts on menu flyout items and appbar buttons in compose page.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.UI.Xaml;
|
||||||
using Microsoft.UI.Xaml.Controls;
|
using Microsoft.UI.Xaml.Controls;
|
||||||
using Wino.Core.Domain.Enums;
|
using Wino.Core.Domain.Enums;
|
||||||
using Wino.Core.Domain.Interfaces;
|
using Wino.Core.Domain.Interfaces;
|
||||||
@@ -9,15 +10,36 @@ internal static class MenuFlyoutLanguageHelper
|
|||||||
{
|
{
|
||||||
private const string ChineseLanguageTag = "zh-CN";
|
private const string ChineseLanguageTag = "zh-CN";
|
||||||
|
|
||||||
public static void Apply(MenuFlyoutItemBase item)
|
public static void Apply(DependencyObject? element)
|
||||||
{
|
{
|
||||||
|
if (element == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (WinoApplication.Current.Services.GetRequiredService<IPreferencesService>().CurrentLanguage == AppLanguage.Chinese)
|
if (WinoApplication.Current.Services.GetRequiredService<IPreferencesService>().CurrentLanguage == AppLanguage.Chinese)
|
||||||
{
|
{
|
||||||
item.Language = ChineseLanguageTag;
|
switch (element)
|
||||||
|
{
|
||||||
|
case MenuFlyoutItemBase menuFlyoutItem:
|
||||||
|
menuFlyoutItem.Language = ChineseLanguageTag;
|
||||||
|
break;
|
||||||
|
case FrameworkElement frameworkElement:
|
||||||
|
frameworkElement.Language = ChineseLanguageTag;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item.ClearValue(MenuFlyoutItemBase.LanguageProperty);
|
switch (element)
|
||||||
|
{
|
||||||
|
case MenuFlyoutItemBase menuFlyoutItem:
|
||||||
|
menuFlyoutItem.ClearValue(MenuFlyoutItemBase.LanguageProperty);
|
||||||
|
break;
|
||||||
|
case FrameworkElement frameworkElement:
|
||||||
|
frameworkElement.ClearValue(FrameworkElement.LanguageProperty);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -438,6 +438,11 @@ public sealed partial class OperationCommandBar : CommandBar
|
|||||||
frameworkElement.DataContext = dataContext;
|
frameworkElement.DataContext = dataContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (element is DependencyObject dependencyObject)
|
||||||
|
{
|
||||||
|
MenuFlyoutLanguageHelper.Apply(dependencyObject);
|
||||||
|
}
|
||||||
|
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user