Skip to content

Commit 25a3081

Browse files
committed
Add Font to HamburgerMenu
1 parent cf5c704 commit 25a3081

16 files changed

Lines changed: 80 additions & 34 deletions

CodeHubDesktop/CodeHubDesktop.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@
5151
</Resource>
5252
</ItemGroup>
5353
<ItemGroup>
54-
<Compile Update="Language\Lang.Designer.cs">
54+
<Compile Update="MultiLanguage\Language\Lang.Designer.cs">
5555
<DesignTime>True</DesignTime>
5656
<AutoGen>True</AutoGen>
5757
<DependentUpon>Lang.resx</DependentUpon>
5858
</Compile>
5959
</ItemGroup>
6060
<ItemGroup>
61-
<EmbeddedResource Update="Language\Lang.resx">
61+
<EmbeddedResource Update="MultiLanguage\Language\Lang.resx">
6262
<Generator>PublicResXFileCodeGenerator</Generator>
6363
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
6464
</EmbeddedResource>
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
using ModernWpf.MahApps.Controls;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Text;
5+
using System.Windows;
6+
using System.Windows.Controls;
7+
using System.Windows.Media;
8+
9+
namespace CodeHubDesktop.Controls
10+
{
11+
public class MyHamburgerMenu : HamburgerMenuEx
12+
{
13+
#region PaneFontFamily
14+
15+
public static readonly DependencyProperty PaneFontFamilyProperty =
16+
DependencyProperty.Register(
17+
nameof(PaneFontFamily),
18+
typeof(FontFamily),
19+
typeof(MyHamburgerMenu),
20+
new PropertyMetadata(OnPaneFontFamilyChanged));
21+
22+
public FontFamily PaneFontFamily
23+
{
24+
get => (FontFamily)GetValue(PaneFontFamilyProperty);
25+
set => SetValue(PaneFontFamilyProperty, value);
26+
}
27+
28+
private static void OnPaneFontFamilyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
29+
{
30+
((MyHamburgerMenu)d).ApplyPaneFontFamily();
31+
}
32+
33+
private void ApplyPaneFontFamily()
34+
{
35+
if (PaneGrid != null)
36+
{
37+
var paneFontFamily = PaneFontFamily;
38+
if (paneFontFamily != null)
39+
{
40+
PaneGrid.Resources[SystemFonts.MessageFontFamilyKey] = paneFontFamily;
41+
PaneGrid.Resources["ContentControlThemeFontFamily"] = paneFontFamily;
42+
}
43+
else
44+
{
45+
PaneGrid.Resources.Remove(SystemFonts.MessageFontFamilyKey);
46+
PaneGrid.Resources.Remove("ContentControlThemeFontFamily");
47+
}
48+
}
49+
}
50+
51+
#endregion
52+
53+
private Grid PaneGrid { get; set; }
54+
55+
public override void OnApplyTemplate()
56+
{
57+
base.OnApplyTemplate();
58+
59+
PaneGrid = GetTemplateChild(nameof(PaneGrid)) as Grid;
60+
61+
ApplyPaneFontFamily();
62+
}
63+
}
64+
}

CodeHubDesktop/Data/GlobalData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using CodeHubDesktop.Language;
1+
using CodeHubDesktop.MultiLanguage.Language;
22
using Newtonsoft.Json;
33
using System;
44
using System.IO;

CodeHubDesktop/Data/IEnumerable.cs

Lines changed: 0 additions & 19 deletions
This file was deleted.

CodeHubDesktop/DynamicLanguage/TranslationSource.cs renamed to CodeHubDesktop/MultiLanguage/DynamicLanguage/TranslationSource.cs

File renamed without changes.

CodeHubDesktop/Language/Lang.Designer.cs renamed to CodeHubDesktop/MultiLanguage/Language/Lang.Designer.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
File renamed without changes.
File renamed without changes.

CodeHubDesktop/ViewModels/AboutViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using CodeHubDesktop.Language;
1+
using CodeHubDesktop.MultiLanguage.Language;
22
using Prism.Mvvm;
33
using System.Reflection;
44

CodeHubDesktop/ViewModels/CheckUpdateViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using CodeHubDesktop.Language;
1+
using CodeHubDesktop.MultiLanguage.Language;
22
using HandyControl.Controls;
33
using Prism.Commands;
44
using Prism.Mvvm;

0 commit comments

Comments
 (0)