Skip to content

Commit 48ef97a

Browse files
committed
Update to support latest MahApps (#1845)
1 parent cf57a29 commit 48ef97a

File tree

7 files changed

+146
-385
lines changed

7 files changed

+146
-385
lines changed

MaterialDesignThemes.MahApps/BaseThemeExtensions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System;
2-
using MahApps.Metro;
2+
using ControlzEx.Theming;
33
using MaterialDesignThemes.Wpf;
44

55
namespace MaterialDesignThemes.MahApps
@@ -10,8 +10,8 @@ public static string GetMahAppsBaseColorScheme(this BaseTheme baseTheme)
1010
{
1111
return baseTheme switch
1212
{
13-
Wpf.BaseTheme.Light => ThemeManager.BaseColorLight,
14-
Wpf.BaseTheme.Dark => ThemeManager.BaseColorDark,
13+
BaseTheme.Light => ThemeManager.BaseColorLightConst,
14+
BaseTheme.Dark => ThemeManager.BaseColorDarkConst,
1515
_ => throw new InvalidOperationException()
1616
};
1717
}

MaterialDesignThemes.MahApps/MahAppsBundledTheme.cs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
using System.Linq;
33
using System.Windows;
44
using System.Windows.Media;
5-
using MahApps.Metro;
5+
using ControlzEx.Theming;
66
using MaterialDesignColors;
77
using MaterialDesignColors.ColorManipulation;
88
using MaterialDesignThemes.Wpf;
9+
using Theme = ControlzEx.Theming.Theme;
910

1011
namespace MaterialDesignThemes.MahApps
1112
{
@@ -57,9 +58,8 @@ static ResourceDictionary GetResourceDictionary(ITheme theme, PrimaryColor prima
5758
{
5859
string baseColorScheme = baseTheme.GetMahAppsBaseColorScheme();
5960
string colorScheme = $"MaterialDesign.{primaryColor}.{secondaryColor}";
60-
6161
ResourceDictionary rv;
62-
if (ThemeManager.Themes.FirstOrDefault(x => x.BaseColorScheme == baseColorScheme && x.ColorScheme == primaryColor.ToString()) is global::MahApps.Metro.Theme mahAppsTheme)
62+
if (ThemeManager.Current.Themes.FirstOrDefault(x => x.BaseColorScheme == baseColorScheme && x.ColorScheme == primaryColor.ToString()) is Theme mahAppsTheme)
6363
{
6464
rv = mahAppsTheme.Resources;
6565
rv.SetMahApps(theme, baseTheme);
@@ -70,16 +70,21 @@ static ResourceDictionary GetResourceDictionary(ITheme theme, PrimaryColor prima
7070
rv[GeneratedKey] = GeneratedKey;
7171
rv.SetMahApps(theme, baseTheme);
7272

73-
rv["Theme.Name"] = $"MaterialDesign.{baseColorScheme}.{primaryColor}.{secondaryColor}";
74-
rv["Theme.DisplayName"] = $"Material Design {primaryColor} with {secondaryColor}";
75-
rv["Theme.ColorScheme"] = colorScheme;
76-
ThemeManager.AddTheme(rv);
73+
string themeName = $"MaterialDesign.{primaryColor}.{secondaryColor}.{baseColorScheme}";
74+
string displayName = $"Material Design {primaryColor} with {secondaryColor}";
75+
rv[Theme.ThemeNameKey] = themeName;
76+
rv[Theme.ThemeDisplayNameKey] = displayName;
77+
rv[Theme.ThemeColorSchemeKey] = colorScheme;
78+
rv[Theme.ThemeBaseColorSchemeKey] = baseColorScheme;
79+
var themeInstance = new Theme(new LibraryTheme(rv, null));
80+
rv[Theme.ThemeInstanceKey] = themeInstance;
81+
ThemeManager.Current.AddTheme(themeInstance);
7782

7883
return rv;
7984
}
8085
}
8186

82-
private void ThemeManagerOnThemeChanged(object sender, ThemeChangedEventArgs e)
87+
private void ThemeManagerOnThemeChanged(object sender, Wpf.ThemeChangedEventArgs e)
8388
{
8489
ResourceDictionary resourceDictionary = e.ResourceDictionary;
8590

MaterialDesignThemes.MahApps/MahAppsCustomColorTheme.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
using System.Linq;
33
using System.Windows;
44
using System.Windows.Media;
5-
using MahApps.Metro;
5+
using ControlzEx.Theming;
66
using MaterialDesignColors.ColorManipulation;
77
using MaterialDesignThemes.Wpf;
8+
using Theme = ControlzEx.Theming.Theme;
89

910
namespace MaterialDesignThemes.MahApps
1011
{
@@ -58,7 +59,7 @@ static ResourceDictionary GetResourceDictionary(ITheme theme, Color primaryColor
5859
string colorScheme = $"MaterialDesign.{primaryColor}.{secondaryColor}";
5960

6061
ResourceDictionary rv;
61-
if (ThemeManager.Themes.FirstOrDefault(x => x.BaseColorScheme == baseColorScheme && x.ColorScheme == colorScheme) is global::MahApps.Metro.Theme mahAppsTheme)
62+
if (ThemeManager.Current.Themes.FirstOrDefault(x => x.BaseColorScheme == baseColorScheme && x.ColorScheme == colorScheme) is ControlzEx.Theming.Theme mahAppsTheme)
6263
{
6364
rv = mahAppsTheme.Resources;
6465
rv.SetMahApps(theme, baseTheme);
@@ -69,16 +70,19 @@ static ResourceDictionary GetResourceDictionary(ITheme theme, Color primaryColor
6970
rv[GeneratedKey] = GeneratedKey;
7071
rv.SetMahApps(theme, baseTheme);
7172

72-
rv["Theme.Name"] = $"MaterialDesign.{baseColorScheme}.{primaryColor}.{secondaryColor}";
73-
rv["Theme.DisplayName"] = $"Material Design {primaryColor} with {secondaryColor}";
74-
rv["Theme.ColorScheme"] = colorScheme;
75-
ThemeManager.AddTheme(rv);
73+
rv[Theme.ThemeNameKey] = $"MaterialDesign.{primaryColor}.{secondaryColor}.{baseColorScheme}";
74+
rv[Theme.ThemeDisplayNameKey] = $"Material Design {primaryColor} with {secondaryColor}";
75+
rv[Theme.ThemeColorSchemeKey] = colorScheme;
76+
rv[Theme.ThemeBaseColorSchemeKey] = baseColorScheme;
77+
var themeInstance = new Theme(new LibraryTheme(rv, null));
78+
rv[Theme.ThemeInstanceKey] = themeInstance;
79+
ThemeManager.Current.AddTheme(themeInstance);
7680

7781
return rv;
7882
}
7983
}
8084

81-
private void ThemeManagerOnThemeChanged(object sender, ThemeChangedEventArgs e)
85+
private void ThemeManagerOnThemeChanged(object sender, Wpf.ThemeChangedEventArgs e)
8286
{
8387
ResourceDictionary resourceDictionary = e.ResourceDictionary;
8488

MaterialDesignThemes.MahApps/MaterialDesignAssist.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
using System.Windows;
33
using System.Windows.Media;
44
using System.Windows.Media.Animation;
5-
using MahApps.Metro;
5+
using ControlzEx.Theming;
66
using MaterialDesignThemes.Wpf;
7+
using Theme = ControlzEx.Theming.Theme;
78

89
namespace MaterialDesignThemes.MahApps
910
{
@@ -13,7 +14,8 @@ public static void SetMahApps(this ResourceDictionary resourceDictionary, ITheme
1314
{
1415
resourceDictionary.SetMahAppsBaseTheme(baseTheme);
1516

16-
resourceDictionary.SetBrush("Theme.ShowcaseBrush", new SolidColorBrush(theme.SecondaryMid.Color));
17+
resourceDictionary.SetBrush(Theme.ThemeShowcaseBrushKey, new SolidColorBrush(theme.SecondaryMid.Color));
18+
resourceDictionary.SetColor(Theme.ThemePrimaryAccentColorKey, theme.SecondaryMid.Color);
1719

1820
resourceDictionary.SetColor("MahApps.Colors.HighlightLight", theme.PrimaryLight.Color);
1921
resourceDictionary.SetColor("MahApps.Colors.Highlight", theme.PrimaryMid.Color);
@@ -501,7 +503,6 @@ private static void SetColor(this ResourceDictionary resourceDictionary, string
501503

502504
internal static void SetMahAppsBaseTheme(this ResourceDictionary resourceDictionary, BaseTheme baseTheme)
503505
{
504-
var foo = ThemeManager.Themes;
505506
switch (baseTheme)
506507
{
507508
case BaseTheme.Light:

paket-files/paket.restore.cached

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"packagesDownloadedHash": "251BAD3109F98A01F104C291E7B0F8D2E4C06ABDE946D3C2D0FFC57092C32E4A",
3-
"projectsRestoredHash": "251BAD3109F98A01F104C291E7B0F8D2E4C06ABDE946D3C2D0FFC57092C32E4A"
2+
"packagesDownloadedHash": "B37C5E56DA79890D1BF77D83B0007CB549D83507FE901C9E21AED64E511015F0",
3+
"projectsRestoredHash": "B37C5E56DA79890D1BF77D83B0007CB549D83507FE901C9E21AED64E511015F0"
44
}

paket.dependencies

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
source https://nuget.org/api/v2
22
framework: net45, net452, net472, netcoreapp3.1
33

4-
nuget MahApps.Metro ~> 2.0.0-alpha0748
4+
nuget MahApps.Metro ~> 2.0.0-alpha0821
55
nuget Dragablz ~> 0.0.3
66
nuget NuGet.CommandLine
77
nuget Shouldly ~> 3.0

0 commit comments

Comments
 (0)