23
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WPFの無料UIライブラリ3選!概要・使用方法

Last updated at Posted at 2023-11-25

初めに

WPFの開発でモダンなデザインを構築する上でUIライブラリは非常に強力なツールです
UIライブラリを使用すると楽なだけでなくUXまでの向上が見込めます
Windowsデスクトップアプリ開発をする際によく使うフレームワーク・WPFでの無料UIライブラリを3つ紹介していきたいと思います
今回紹介するライブラリにはデモアプリがあるので開発も楽に行えると思います

参考までにデモアプリを横に並べてみました
image.png
右から順に[MaterialDesign in Xaml,WinUI3,WPF UI]

Material Design in Xaml

Material Design in XamlはMaterialDesignをWPF上で使えるようにしたUIライブラリです
豊富なコンポーネントが用意されており私はAndroidアプリケーションなどとUIを統一したいときに使っています

デモアプリ

下記リンクからDemoApp.zipを落としてRelease内にあるMaterialDesignDemo.exeを実行するとデモアプリを動かすことが出来ます
デモアプリのコンポーネント右下にある</>ボタンを押すとコンポーネントを利用するためのXamlコードが出てくるのでそのままコピペして利用することが出来ます

利用方法

Nugetパッケージをインストールします
image.png
App.xamlに以下を追加します

App.xaml
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Indigo.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

MainWindow.xamlなどコンポーネントを利用するページ・ウィンドウの先頭に

xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"

を追加することで

<materialDesign:PackIcon Kind="ExclamationThick" />

のように利用することが出来ます

WinUI3

WinUI3はWindows App SDKのWindows UIライブラリです
Windows 10以降を対象としたデスクトップアプリを作成することができ今後も長くサポートが続くと考えています

Windowsらしいモダンなアプリを構築する事が出来るので幅広く使用することが出来ます
デフォルトのUIと比較してみるためにタイマーを作ってみました
ボタンを見てみるとかなりモダンなデザインになっていることが確認できます(WinUI3はこれだけではないです!)
image.png

デモアプリ

デモアプリはMicrosoftStoreに公開されているので簡単にインストールすることが出来ます

デモアプリからもMicrosoft感を感じます(個人の感想)

利用方法

過去に私が導入方法について書き記した記事があるのでこちらを参考にしてください
プロジェクトの作り方が少し特殊になっています

WPF-UI

WPF-UIはWPFでWinUI3に似たモダンなデザインが構築できるUIライブラリです
約2年前にリリースされ長いサポートが期待できます

デモアプリ

デモアプリはMicrosoftStoreに公開されており簡単にインストールして試すことが出来ます

導入方法

導入方法は2こあります

Nugetパッケージを利用する

Nugetパッケージを利用してWPFにWPF-UIを導入することが出来ます
image.png
Nugetパッケージを追加し利用するページ・ウィンドウの先頭に追加します

xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"

これでWPF-UIの導入が完了しました

<ui:Button Content="Run" Icon="FlashPlay20" Margin="16"/>

このようにして利用することが出来ます

拡張機能を利用する

拡張機能をインストールすることで画像のように素早くプロジェクトを作ることが出来ます
image.png

FluentNavigationを選択するとMVVMパターンがすでに整備されている状態になります
image.png

何を選択するか

さて、ここまで3つのUIライブラリを紹介しましたが全てがポテンシャルの高く何を選択するか迷うでしょう
究極は個人の好みになりますが参考までに私ならという考えを記します
例えばWebサービスxデスクトップサービスなどの大規模なアプリでなら私はMaterialDesignを採用してWebサービスと統一性を持たせていきたいところです
業務用などのデスクトップサービスではWPF-UIのFluentかつModernという概念が刺さると思います
是非デモアプリをインストールして自信で試してみてください!
また今回は紹介しきれていないUIフレームワークがあります。ほかのフレームワークも精査してみてください🙇
この記事が開発の手助けになれば幸いです👍

23
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?