libQB 2.0.0
dotnet add package libQB --version 2.0.0
NuGet\Install-Package libQB -Version 2.0.0
<PackageReference Include="libQB" Version="2.0.0" />
<PackageVersion Include="libQB" Version="2.0.0" />
<PackageReference Include="libQB" />
paket add libQB --version 2.0.0
#r "nuget: libQB, 2.0.0"
#:package libQB@2.0.0
#addin nuget:?package=libQB&version=2.0.0
#tool nuget:?package=libQB&version=2.0.0
libQB
QBシリーズのWPFアプリケーションで共用するUI・アプリケーション基盤ライブラリです。 MahApps.MetroとCommunityToolkit.Mvvmを利用し、アプリ固有の機能から独立した共通サービスやWPF拡張を提供します。
現在のパッケージバージョンは 2.0.0、Target Frameworkは net10.0-windows7.0 です。
v2.0.0へのアップグレード
v1.x.xからv2.0.0への更新には破壊的変更が含まれます。既存アプリケーションは、パッケージを更新する前に次の変更点を確認してください。
- libQB内蔵のresxと
libQB.Properties配下のリソースクラスを廃止しました。 LocalizationManagerはlibQBのResourceManagerを自動登録しなくなりました。必要なResourceManagerは利用側でRegisterResourceManagerを使用して登録してください。- 共通ダイアログとクリアボタンの文言は
DialogTextProviderから取得します。ローカライズする場合は、利用側で各delegateを設定してください。
v1.x.xで libQB.Properties.Dialog、libQB.Properties.Menu、libQB.Properties.Hamburger、libQB.Properties.Resources を直接参照しているコードは、そのままではビルドできません。利用側のresxまたは LocalizationManager/DialogTextProvider を使用する実装へ移行してください。
また、libQB.Enums.Languages と EnumDisplayTypeConverter は削除しました。言語選択には利用側で LanguageInfo/LanguagePack または独自の言語モデルを管理し、LocalizationManager.SetCulture でカルチャを切り替えてください。列挙値の DisplayAttribute.Name を表示する場合は、利用側でその属性を読むコンバーターを用意してください。ダイアログ文言は DialogTextProvider で管理できます。
IDialogService.ShowSaveFileDialog および DialogService.ShowSaveFileDialog は、第4引数 suggestedFileName を追加しました。シグネチャは (title, filter, path, suggestedFileName) です。既定ファイル名を指定する場合は第4引数を渡してください。
主な機能
- MahApps.Metro上の共通メッセージダイアログ
- Windows標準のファイル/フォルダー選択ダイアログ
- DIからViewModelを解決するモーダルWindowサービス
- Undo/Redoの履歴管理とプロパティ変更アクション
- ResourceManagerと外部resx言語パックを統合するLocalization基盤
- TOML形式の汎用設定ストア
- WPF Behavior、添付プロパティ、値コンバーター
- DI登録意図を表す属性メタデータ
- Light/Darkテーマを表す共通Enum
DIコンテナー、属性のスキャン処理、画面遷移、アプリ固有の設定モデルは含みません。これらは利用側アプリケーションで構成します。
必要環境
- .NET SDK 10.0
- WPFを利用できるWindows環境
主なNuGet依存パッケージは次のとおりです。
| パッケージ | バージョン |
|---|---|
| CommunityToolkit.Mvvm | 8.4.2 |
| MahApps.Metro | 2.4.11 |
| MahApps.Metro.IconPacks.FontAwesome | 6.2.1 |
| MahApps.Metro.IconPacks.Material | 6.2.1 |
| Tomlyn | 2.10.1 |
ビルド
dotnet restore libQB.sln
dotnet build libQB.sln
ビルド時にNuGetパッケージも生成されます。
ドキュメント
ライセンス
このプロジェクトはMIT Licenseで提供されます。詳細は LICENSE.txt を参照してください。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows7.0 is compatible. |
-
net10.0-windows7.0
- CommunityToolkit.Mvvm (>= 8.4.2)
- MahApps.Metro (>= 2.4.11)
- MahApps.Metro.IconPacks.FontAwesome (>= 6.2.1)
- MahApps.Metro.IconPacks.Material (>= 6.2.1)
- Tomlyn (>= 2.10.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.