--- lang: ja-jp breaks: true --- # WPF .NET Core アプリに MaterialDesignThemes と MahApps を適用する。 2021-05-22 > MahApps.Metro integration > https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/MahApps.Metro-integration ## App.xaml ```xml= <Application ・・・ xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" ・・・ > <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <!-- MahApps --> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Colors.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Red.xaml" /> <!-- --> <materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="Orange" SecondaryColor="Indigo" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" /> <!-- Material Design: MahApps Compatibility --> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.MahApps;component/Themes/MaterialDesignTheme.MahApps.Fonts.xaml" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.MahApps;component/Themes/MaterialDesignTheme.MahApps.Flyout.xaml" /> <!-- 独自カスタマイズ --> </ResourceDictionary.MergedDictionaries> <!-- MahApps Brushes --> <SolidColorBrush x:Key="HighlightBrush" Color="{DynamicResource Primary700}" /> <SolidColorBrush x:Key="AccentBaseColorBrush" Color="{DynamicResource Primary600}" /> <SolidColorBrush x:Key="AccentColorBrush" Color="{DynamicResource Primary500}" /> <SolidColorBrush x:Key="AccentColorBrush2" Color="{DynamicResource Primary400}" /> <SolidColorBrush x:Key="AccentColorBrush3" Color="{DynamicResource Primary300}" /> <SolidColorBrush x:Key="AccentColorBrush4" Color="{DynamicResource Primary200}" /> <SolidColorBrush x:Key="WindowTitleColorBrush" Color="{DynamicResource Primary700}" /> <SolidColorBrush x:Key="AccentSelectedColorBrush" Color="{DynamicResource Primary500Foreground}" /> <LinearGradientBrush x:Key="ProgressBrush" EndPoint="0.001,0.5" StartPoint="1.002,0.5"> <GradientStop Color="{DynamicResource Primary700}" Offset="0" /> <GradientStop Color="{DynamicResource Primary300}" Offset="1" /> </LinearGradientBrush> <SolidColorBrush x:Key="CheckmarkFill" Color="{DynamicResource Primary500}" /> <SolidColorBrush x:Key="RightArrowFill" Color="{DynamicResource Primary500}" /> <SolidColorBrush x:Key="IdealForegroundColorBrush" Color="{DynamicResource Primary500Foreground}" /> <SolidColorBrush x:Key="IdealForegroundDisabledBrush" Color="{DynamicResource Primary500}" Opacity="0.4" /> <SolidColorBrush x:Key="MahApps.Metro.Brushes.ToggleSwitchButton.OnSwitchBrush.Win10" Color="{DynamicResource Primary500}" /> <SolidColorBrush x:Key="MahApps.Metro.Brushes.ToggleSwitchButton.OnSwitchMouseOverBrush.Win10" Color="{DynamicResource Primary400}" /> <SolidColorBrush x:Key="MahApps.Metro.Brushes.ToggleSwitchButton.ThumbIndicatorCheckedBrush.Win10" Color="{DynamicResource Primary500Foreground}" /> </ResourceDictionary> </Application.Resources> </Application> ``` ## MainWindow.xaml ```xml= <metro:MetroWindow ・・・ xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes" xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" TextElement.Foreground="{DynamicResource MaterialDesignBody}" TextElement.FontWeight="Medium" TextElement.FontSize="14" TextOptions.TextFormattingMode="Ideal" TextOptions.TextRenderingMode="Auto" Background="{DynamicResource MaterialDesignPaper}" FontFamily="{DynamicResource MaterialDesignFont}" xmlns:metro="http://metro.mahapps.com/winfx/xaml/controls" GlowBrush="{DynamicResource AccentColorBrush}" BorderThickness="1" ・・・ > <Window.Resources> </Window.Resources> <Grid> <StackPanel Orientation="Vertical"> <!-- 独自カスタマイズ --> </StackPanel> </Grid> </metro:MetroWindow> ``` ## MainWindow.xaml.cs ```csharp= using MahApps.Metro.Controls; namespace WpfApp10 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : MetroWindow { public MainWindow() { InitializeComponent(); } } } ``` ###### tags: `WPF` `.NET Core` `MaterialDesignThemes` `MahApps`