Xaml.ExtensionPack
WPF 向けの軽量・依存関係ゼロの XAML 拡張ライブラリ。 MVVM の基盤となるユーティリティを NuGet パッケージとして提供します。
概要
Xaml.ExtensionPack は、WPF/XAML アプリケーション開発における定型コードを削減するための NuGet ライブラリです。
- Xaml.ExtensionPack — フレームワーク非依存のコアライブラリ。MVVM の基盤ロジックを提供します。 .NET 10、.NET 8、.NET Framework 4.7.2 をターゲットとしています。
開発背景:大規模な依存なしにボイラープレートを排除する
MVVM パターンで構築された WPF アプリケーションには、INotifyPropertyChanged の実装、
ICommand のラッパー、非同期対応の fire-and-forget ヘルパーなど、繰り返し記述される定型コードが多く発生しがちです。
コミュニティのツールキットも存在しますが、大きな依存関係ツリーを引き込んだり、プロジェクトの要件を超えた
アーキテクチャの規約を強制したりすることがあります。
Xaml.ExtensionPack は、本当に必要なものだけを提供するために作られました。 余分なオーバーヘッドなく、どんな WPF プロジェクトにもクリーンに統合できる、小さく的を絞ったユーティリティ群です。
含まれる機能
-
BindableBase —
INotifyPropertyChangedを実装した抽象基底クラス。 コールバック付きSetPropertyヘルパーや、リファクタリングに強いラムダ式ベースのOnPropertyChangedを提供します。 -
RelayCommand / RelayCommand<T> — デリゲートで実行ロジックを委譲する軽量な
ICommand実装。省略可能なCanExecute述語をサポートし、IRaiseCanExecuteChangedインターフェースを通じてRaiseCanExecuteChangedを公開します。 -
AsyncRelayCommand — 非同期対応の
ICommand。 タスク実行中の並行実行を防止し、タスク実行中はCanExecuteを自動的に更新します。 -
TaskExtensions.FireAndForget —
Task向けの安全な fire-and-forget 拡張メソッド。 省略可能な例外ハンドラを受け取り、未観測タスク例外を防ぎます。
技術スタック
- 言語: C#(最新バージョン)
- ターゲットフレームワーク: .NET 10、.NET 8、.NET Framework 4.7.2
- ライセンス: MIT
リポジトリ
ソースコードおよびイシュートラッキングは GitHub にて公開しています: