C#, WPF, メモ, 開発環境

よく使う初期環境 のMaterialDesignThemes 3.1.3 対応版

  • ControlzEx 4.3.2
  • LivetCask 3.2.3.1
  • LivetCask.Behaviors 3.2.3.1
  • LivetCask.Collections 3.2.3.1
  • LivetCask.Converters 3.2.3.1
  • LivetCask.Core 3.2.3.1
  • LivetCask.EventListeners 3.2.3.1
  • LivetCask.Messaging 3.2.3.1
  • LivetCask.Mvvm 3.2.3.1
  • MahApps.Metro 2.2.0
  • MaterialDesignColors 1.2.6
  • MaterialDesignThemes 3.1.3
  • MaterialDesignThemes.MahApps 0.1.4
  • Microsoft.Xaml.Behaviors.Wpf 1.1.19

C#, WPF

コンボボックスにMaterial Design In XAML Toolkitを適用すると、
現在選択されている項目が、ドロップダウンの一覧に表示されない形式となる。

C#, WPF, ソフトウェア開発

Material Design In XAML ToolkitとMahApps.Metroを用いたマテリアルデザイン風Window の続き)

Material Design In XAML Toolkitのデザイン設定は、モードとカラーがある

●モード
( Light / Dark )

・App.xaml

<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />

・プログラム内から動的変更

// Lightの場合はfalse、Darkの場合はtrue
new PaletteHelper().SetLightDark(true);

●カラー
( Amber / Blue / BlueGrey / Brown / Cyan / DeepOrange / DeepPurple /
Green / Grey / Indigo / LightBlue / LightGreen / Lime / Orange / Pink /
Purple / Red / Teal / Yellow )

・App.xaml

<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Indigo.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Indigo.xaml" />

・プログラム内から動的変更

new PaletteHelper().ReplacePrimaryColor("Amber");
new PaletteHelper().ReplaceAccentColor("LightGreen");

なお、名前の一覧は MaterialDesignColors.SwatchesProvider にて取得可能。

MahApps.Metroにもモードとカラーがある

●モード
( BaseLight / BaseDark )
●カラー
( Red / Green / Blue / Purple / Orange / Lime / Emerald / Teal / Cyan /
Cobalt / Indigo / Violet / Pink / Magenta / Crimson / Amber / Yellow /
Brown / Olive / Steel / Mauve / Taupe / Sienna )

        public MainWindow()
        {
            InitializeComponent();

            ThemeManager.ChangeAppStyle(
                Application.Current,
                ThemeManager.GetAccent("Sienna"),
                ThemeManager.GetAppTheme("BaseLight")
                );
        }

MahApps.Metroのスタイルの詳細はこちらを参照

C#, WPF, ソフトウェア開発

Material Design In XAML Toolkitを用いることで、簡単にWindowをマテリアルデザイン風にすることができる。
さらにMahApps.Metroを導入することで、細かいカスタマイズや拡張コントロールを利用できる。