プロジェクト紹介
このプロジェクトは Prism MVVM フレームワークを適用しています。プロジェクトの表示データは他のサービスプログラムから取得し、WebAPI 通信を使用しています。このプログラムを正常に実行するには、API インターフェースを提供する WebAPI プログラムを自分で作成する必要があります。直接コードを確認するのが最も直接的であり、必要に応じて簡単に抽出できます。プロジェクトが実行できなくても問題ありません。
プロジェクトの特徴
このプロジェクトは国際化をサポートしており、リソースファイルを通じて中国語、英語、日本語の3言語を切り替えることができます。T4 テンプレートもサポートしていますが、完全ではありません。モジュールを動的に読み込む場合(参照を追加しない方法)、モジュールの国際化は機能しません。
使用しているコントロールは MaterialDesignInXamlToolkit で、非常に優れたオープンソースの WPF コントロールライブラリです。元のプロジェクトではネイティブ + カスタムモジュール、カスタムコントロール、サードパーティコントロール(Dev Express、Telerik など)を使用していましたが、これでまた選択肢が増えました。
このプロジェクトはモジュール化の方法を採用しており、動的な拡張や機能の削除が容易です。各モジュールは dll として読み込まれます。具体的なインターフェースの効果は、以下の Screenshots を参照してください。
このプロジェクトは完全なプロジェクトではなく、作者は一部の機能のみを公開しています。個人的には作者が一部を保留していると感じ、多くの欠点があります。以下の Screenshots を見るとその兆候があります。GitHub には未アップロードの機能モジュールがいくつかあり、アップロードされた機能も多少削除されていますが、それでも優れたオープンソースプロジェクトです。作者に感謝します。私は .Netcore 3.0 を使用し、このプロジェクトを参考にして独自のプロジェクトを開発しました。どのようにこの優れたプロジェクトを見つけたかということです。
ライブラリの1つである refit は非常に優れており、WebAPI の呼び出しに非常に実用的です。
こんな優れたプロジェクトを最近まで見つけられなかったのが悔やまれます。私自身は 2019 年以降に GitHub でこのプロジェクトを検索して見つけました。以前は GitHub をあまり閲覧しておらず、自分の WPF プロジェクトは「適当に」フレームワークを構築していました。Prism を使い始めたのは 2015 年からで、MVVM も使用し、サービスの依存性注入も追加し、モジュール化も採用していましたが、常に完璧とは感じていませんでした。このプロジェクトに注目してから、自分のフレームワークの不足点が理解できました。皆さんにも研究と参考を勧めます。
効果表示
私は手抜きをして、以下のスクリーンショットを当該プロジェクトの readme.md ファイルから直接コピーしました。プロジェクトを研究したい場合は、直接こちらへどうぞ:Accelerider.Windows
操作アニメーション

ファイルブラウズ

ファイル転送

左側グループ

アプリストア

依存関係
- MaterialDesignInXamlToolkit
- Unity Container
- Prism
- refit
- Newtonsoft.Json