このプロジェクトについて
ModernWPFは、Windows Presentation Foundation(WPF)アプリケーションにFluentスタイリングと最新のWinUI風コントロールを追加する、独立したコミュニティ管理ライブラリです。WPF上で直接動作し、WPFランタイムを置き換えたり、WinUIとして機能したりするものではありません。
提供内容:
- 標準WPFコントロール向けのFluentスタイリング。ライト、ダーク、ハイコントラスト、およびコンパクトリソース動作に対応。
- NavigationView、NumberBox、ContentDialog、InfoBar、CommandBarFlyout、ItemsRepeaterなどの最新コントロールのWPF移植版。
- アプリケーション、ウィンドウ、要素レベルのテーマAPI。
- 最新のウィンドウクローム、タイトルバー統合、レイアウトヘルパー、およびリソースプリミティブ。
- ソースベースの互換性監査に加え、API、リソース、テーマ、アクセシビリティ、パッケージ、ランタイムの自動テスト。
上流プロジェクトとの関係:ModernWPFはdotnet/wpf上に直接構築され、WPFの動作を保持します。標準コントロールのスタイリングには、.NET 10ではプラットフォームのFluentテーマを使用し、サポート対象の古いターゲットでは互換性のあるバックポートを使用します。追加の最新コントロールは、WPFに同等のものがない場合にmicrosoft-ui-xamlから移植され、文書化されたWPF適応が施されます。このプロジェクトはMicrosoftとの提携や推奨を受けていないと明記されています。
プロジェクトステータス:1.x系がアクティブなプレビューラインであり、1.0.0-preview.1が最初のAPI/リソース監査および移行ベースラインで、API凍結されたリリース候補と安定版1.0.0へのロードマップがあります。0.9.x系は凍結されサポート対象外です。更新やセキュリティ修正の計画はなく、0.9.xとのソース/バイナリ互換性は保証されません。移行ガイドでは、ターゲットフレームワークの変更、リソースエントリ、名前変更されたAPI、および1.xでのMahAppsアダプタの削除について説明しています。
サポート対象ターゲット:net462とnet8.0-windows7.0はModernWPF Fluentバックポートを使用します。net10.0-windows7.0は公式のPresentationFramework.Fluentテーマを使用します。廃止されたnet45、netcoreapp3.0、net5.0-windowsアセットは1.xには含まれません。
はじめ方:NuGetが凍結された0.9.xパッケージを選択しないように、明示的な1.xバージョン(例:dotnet add package ModernWpfUI --version 1.0.0-rc.1)をインストールします。App.xamlにThemeResourcesとFluentControlsResourcesを追加し、WindowHelper.UseModernWindowStyleでウィンドウをModernWPFスタイリングに選択し、ui XAML名前空間のコントロールを使用します。段階的な移行が必要なアプリケーションは、一時的にThemeResourcesとXamlControlsResourcesを保持できます。
ギャラリー:ModernWpf.Galleryは、リポジトリのインタラクティブカタログおよび開発サンプルで、コントロール、テーマ、ウィンドウクローム、ナビゲーション、ダイアログ、フライアウト、入力動作を示します。これはプロジェクトサンプルであり、Microsoftの公式WPFやWinUIギャラリーではありません。ビルドにはWindows、global.jsonで選択されたSDK、.NETデスクトップ開発ワークロードが必要です。net462には.NET Framework 4.6.2 Developer Packも必要です。ソリューションとテストのビルドは、WPFプロジェクトが共有中間ファイルで競合する可能性があるため、並行して実行しないでください。
ドキュメントには、1.0ロードマップ、プレビューとリリース候補のリリースノート、0.9.x移行ガイド、1.x公開API契約、WinUIソースパリティドキュメントが含まれます。貢献は、Discussions、構造化されたプレビューバグフォーム、Issuesを通じて行われ、変更には回帰テストのカバレッジが期待されます。
ライセンス:MIT。WPFおよびWinUIソース参照は、それぞれの上流の通知とライセンスを保持します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.