【WPF】MaterialDesign×MahApps×Dragablzで作るドッキングモダンUI

当ページのリンクには広告が含まれています。

WPFでモダンなユーザーインターフェースを構築する方法として、MaterialDesignMahAppsDragablzのライブラリが有名です。これらのライブラリを使えば、視覚的に美しいデザインと実用的な機能性を簡単に実現できます。

この記事では、これら3つのライブラリを使って、シンプルかつ効率的なWPFモダンUIの作り方をステップバイステップで紹介します。WPFでの開発にモダンな要素を取り入れたい方や、より使いやすいUIを構築したい方に最適です。

目次

はじめに

MaterialDesignの公式サイトにおいて、MahAppsとDragablz を同時に使えることが記載されていたので、上記のサンプルプログラムを作ってみました。

Dragablz の公式サイトで紹介している方法(App.xamlの修正)をそのまま適用すると、2か所で参照先が存在しないというエラーが発生したため、存在する参照先に変更しています。

また、ライブラリ3つを同時に利用する場合、App.xamlとMainWindow.xaml にそれなりの手を加える必要があります。修正量が多いため難しく感じるかもしれませんが、本記事では図を使って具体的な変更箇所を明確にしていますので、手順通りに修正していけば問題なくできると思います。

記事の後半には、App.xaml、MainWindow.xaml、MainWindow.csの修正済みソースコードを掲載していますので、ゼロからプログラムを作る方は、そのままコピペして(プログラム名はご自身のものに修正が必要)お使い下さい。

インストール方法

Nugetから次のライブラリを検索し、インストールします。

MaterialDesignThemes
ShowMeTheXAML.MSBuild
MaterialDesignColors
MahApps.Metro
Dragablz

それぞれの詳しいインストール方法、組み込み方を知りたい方は、次の記事をご一読ください。

あわせて読みたい
【WPF】Dragablzを使ったマウスによるTabの並べ替えとドッキング入門 WPFでTab Control を実装する場合、併せてマウス操作でタブの並びを変更したり、指定したタブを別ウィンドウとして表示した後、再び元のウィンドウにドッキングさせる機...
あわせて読みたい
【WPF】MahApps とC#で作るmetro window 入門 「WPFでモダンなUIアプリを作りたいけど、どこから手をつければいいかわからない…」そんな時は、手始めにWindowをモダン化しましょう。 本記事では、初心者でも簡単にWP...
あわせて読みたい
【WPF】material designとC#で作るモダンUI入門 WPFでデスクトップアプリを構築するメリットの1つに、見栄えの良い(モダンな)画面デザインが実現しやすいという点があります。 とはいうものの、マイクロソフトが提...

プロジェクトへの組み込み方法

App.xamlと MaiNWindow.xaml の2か所を修正する必要があります。

App.xamlの修正

上記①の位置に、次のソースコードを挿入します。

上記②の位置に、次のソースコードを挿入します。

MainWindow.xamlの修正

①の箇所に次の5行を挿入します。

②の箇所に次の3行を挿入します。

③の位置に次の11行を挿入します。

④の箇所(上下2か所)の Windowタグを mah:MetroWindow に書き換えます。。

MainWindow.csの修正

MainWindowクラスの継承元を Window から MetroWindow に変更します。

サンプルプログラム

MaterialDesign、MahApps、Dragablz の3つを融合させたUIのサンプルです。ModernUISample という名前でプロジェクトを作成し、ソースコードをそのままコピペして張り付けると動作します。

注意点としては、それぞれのテーマが影響しているため、微調整が難しいことでしょう。

例えば、Dragablz のタブを選んだ際、アクティブなタブに黄色のアンダーラインが表示されるべきですが、表示されません。また、TabPage内に存在するTabControlの文字色が薄いグレーになっていますが、これらは3つのテーマが競合しているためだと思われます。

とはいうものの、いくつかの点を妥協すればモダンなデザインが簡単に実現できます。

App.xaml

MainWindow.xaml

MainWindow.cs

まとめ

今回の記事では、MaterialDesign、MahApps、Dragablzの3つのライブラリを組み合わせて、WPFアプリケーションでドッキング可能なモダンUIを実現する方法を紹介しました。

これらのライブラリを使用することで、見た目だけでなく、操作性や柔軟性に優れたUIを簡単に構築することが可能です。

MaterialDesignでスタイリッシュなフラットデザインを適用し、MahAppsで使い勝手の良いカスタムウィンドウを提供し、Dragablzによってドッキングやタブの管理を実装しました。これにより、モダンでインタラクティブなUIを実現し、ユーザー体験を向上させることができるでしょう。

ぜひ、今回紹介した手法を活用して、あなたのアプリケーションにモダンな要素を取り入れてみてください。UIが進化することで、アプリ全体の価値も一段と高まります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次