WPFオープンソースプロジェクト:AIStudio.Wpf.AClient

WPFオープンソースプロジェクト:AIStudio.Wpf.AClient

Prismを使用してMVVMを実装。利点は言うまでもなく、主にコンテナ注入、メッセージング、DIを活用しており、自分で書くよりも手間が大幅に省けます。ネット上には標準的なMVVMの使い方の例は多くありますが、システムレベルのフレームワークはほとんどありません。本フレームワークはログインから実際のビジネス利用、自動アップデートまでをカバーして構築されています。

最終更新 2021/07/25 12:06
沙漠尽头的狼
読了目安 2 分
カテゴリ
WPF
テーマ
WPFコントロールライブラリ WPF MVVMフレームワーク Prismシリーズ WPFオープンソースプロジェクト C#オープンソースプロジェクト
タグ
.NET C# ASP.NET Core WPF Prism

紹介

Wpf クライアント、AIStudio.Wpf.AClient

ソフトウェアアーキテクチャ

本フレームワークは Prism を使用して MVVM を実現しています。その利点については説明しませんが、主にコンテナインジェクション、メッセージング、DI を活用しており、独自実装に比べて手間を大幅に軽減しています。ネット上には標準的な MVVM の使い方が多数存在しますが、システムレベルのフレームワークを形成しているものはあまりありません。本フレームワークは、ログインから具体的な業務の利用、自動アップデートまでを構築しており、素晴らしい出来とは言えませんが、参考になれば幸いです。

バックエンドは ASP.net Core を使用し、Colder.Admin.AntdVue のフレームワークを採用しています。ぜひご覧になることをおすすめします。その上でいくつかの機能を追加しています。

Web クライアントの閲覧アドレス(アカウント・パスワード:Admin、Admin):

http://121.36.12.76:5001/

API 閲覧アドレス:http://121.36.12.76:5000/

Wpf クライアントは直接ダウンロードして実行できます。デフォルトの設定ファイルは AIStudio.Wpf.Client.exe.Config です。

<appSettings>
    <add key="Title" value="AIStudio" />
    <add key="Language" value="中文" />
    <add key="FontSize" value="16" />
    <add key="FontFamily" value="宋体" />
    <add key="Accent" value="BlueGray" />
    <add key="Theme" value="BaseGray11" />
    <add key="NavigationLocation" value="Left" />
    <add key="NavigationAccent" value="Dark" />
    <add key="TitleAccent" value="Normal" />
    <add key="ToolBarLocation" value="Top" />
    <add key="Version" value="1.0.20201115-rc3" />
    <add key="ServerIP" value="http://121.36.12.76:5000" />
    <add key="UpdateAddress" value="http://121.36.12.76:5000/update" />
  </appSettings>

ServerIP はバックエンド API のアドレスで、http://121.36.12.76:5000 をそのまま使用できます。

アカウント・パスワード:Admin、Admin。 サーバーに接続せず、DemoPage のみを表示する場合は、アカウント・パスワードは LocalUser、LocalUser です。

サーバーに接続しない場合は、SQLite のローカルデータも使用でき、クライアントは単独で動作可能です。アカウント・パスワードは Admin、Admin です。

<add key="ServerIP" value=""/>
<add key="UpdateAddress" value="http://121.36.12.76:5000/Update/AutoUpdater.xml"/>
<add key="ConString" value="Data Source=Admin.db"/>
<add key="DatabaseType" value="SQLite"/>
<add key="DeleteMode" value="Logic"/>

ServerIP をコメントアウトすると、efcore を使用してデータを取得します。ConString と DatabaseType を変更するだけで済みます。また、デフォルトのデータベース削除モードは論理削除(ソフトデリート)です。

一部スクリーンショット

以下にクライアントの一部スクリーンショットを掲載します。作者はこのプロジェクトをまだ調整中であり、ソースコードや UI の美観なども最適化中です。作者に提案をお寄せください(完全な RBAC 権限付き)。

システム管理

  • ログイン画面

ログイン画面

  • メインウィンドウ

メインウィンドウ

  • ユーザー管理

ユーザー管理

  • ロール管理

ロール管理

  • 権限管理

権限管理

メッセージセンター

  • サイト内メッセージ

サイト内メッセージ

特長機能:プロセス管理

  • プロセス管理

プロセス管理

  • プロセス開始

プロセス開始

  • フォーム管理

フォーム管理

作者との技術交流

作者微信(WeChat):akwkevin

作者 QQ:80267720

QQ 技術交流グループ:51286643(参加するとサーバーサイドのオープンソースコードのアドレスをご案内します)

個人ブログ:https://www.cnblogs.com/akwkevin/

記事内のプロジェクトリポジトリ:https://gitee.com/akwkevin/aistudio.-wpf.-aclient

作者の gitee アカウントをフォローしてください。他にもプロジェクトがあります。例えば WPF オープンソースプロジェクト:フローダイアグラムエディタ:

https://gitee.com/akwkevin/aistudio.-wpf.-diagram

以下にそのプロジェクトのいくつかのスクリーンショットを示して、この記事を終わります。

  • キャンバス編集

キャンバス編集

  • フローチャート

フローチャート

  • ロジック図

ロジック図

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2022/01/14

2022年版WPFプロジェクト実践集リリース

このビデオ集は全58話で、WPFの基礎部分(レイアウト、スタイル、リソース、アニメーション、テンプレート、MVVM)、Prismの概念(Region、Navigation、DialogService、Module...)、MaterialDesign統合、ASP.NET Core WebApi部分(Entityframework、公開・デプロイ)、クライアント公開、デプロイなど、完全な開発フローを含んでいます。

続きを読む