WPFハイブリッドBlazorは簡単なチャットアプレットを作る

WPFハイブリッドBlazorは簡単なチャットアプレットを作る

Wpf + Blazorハイブリッドモードの開発を学ぶために夜に4、5時間を費やしました。

最后更新 2022/10/28 1:09
沙漠尽头的狼
预计阅读 2 分钟
分类
WPF Blazor
标签
.NET C# Blazor WPF

こんにちは、私は砂漠の果ての狼です。

今日はWPFハイブリッドBlazor開発を試してみて、良い感じ、テスト手順を簡単に共有します:WPFハイブリッドBlazor開発の簡単な対話プログラム。

テクノロジースタックの利用:

WPF+Blazorプログラムの構築

学习WPF + Blazor混合开发的Hello World最好的地方是微软文档:

https://learn.microsoft.com/zh-cn/aspnet/core/blazor/hybrid/tutorials/wpf?view=aspnetcore-7.0

効果は

UI使用了Masa Blazor,效果个人感觉不错,如果用WPF实现,要麻烦不少,以下是几个效果截图:

** ユーザー一覧ウィンドウ **

使用了Masa Blazor的列表组件,代码几乎是直接Copy过来的,参考链接Masa Blazor列表

用户列表

** チャット·ウィンドウ **

这个简单,左侧是一个列表,同上面的用户列表类似,只是去掉了上方蓝色的MToolbar和用户的详细描述信息,右侧则是多行文本框显示聊天记录、单行文本框输入即时聊天信息、一个发送按钮(简单描述,不贴代码,后面有仓库链接)。

聊天窗口

** ウィンドウを開く **

列表的点击事件,使用IEventAggregator发送打开子窗体事件 OpenUserDialogEvent,事件订阅方法执行弹出子窗体操作:

打开窗口

** メッセージの送信 **

发送消息按钮点击,使用IEventAggregator 发送发送消息事件SendMessageEvent,事件订阅方法接收消息,并追加到各自历史聊天多行文本框展示:

演示发送消息

ソースコードソース

GitHub:https://github.com/dotnet9/WPFBlazorChat

効果は大丈夫ですが、コードは説明されていません、見て実行することに興味があります、現在は再最適化する時間がいくつかあります。

  • カスタムフォームまたはWPFモードで実装されます。

    フォームは透過的で、Borderマウスはイベントを押してフォームドラッグを実現し、右上隅のフォームを閉じるボタンはフォームを閉じ、後でもう一度試してみてもRazorを使用してください。

  • Prism.DryIocとISServiceCollection 2つのIocコンテナがオブジェクトを重複登録する

    本以为搞混合开发挺简单的,实际做才会遇到问题,如果要实现模块化,两种容器可能会处理类似的对象依赖注入,比如IEventAggregatorPrism中是默认注入了,如果Razor中使用还要注入到IServiceCollection中。

点,

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2023/06/10

2/7

NET Core3環境でMVVMフレームワークPrismを使用する方法

继续阅读
同分类 / 同标签 2025/01/26

WPFはカスタムXMLファイルで国際化を実現

この記事では、必要なNuGetパッケージのインストール、言語リストの動的取得、言語の動的切り替え、コードとxamlインターフェイスでの翻訳文字列の使用、開発者がWPFアプリケーションを簡単に国際化できるようにするソースコードへのリンクなど、WPFプログラムでカスタムXMLファイルを使用した国際化の方法について詳しく説明します。

继续阅读
同分类 / 同标签 2024/11/06

なぜ私のブログはBlazorに戻るのか?

ブログサイトの開発は苦労し、MVC、Vue、Goなどの10近くのバージョンを試してきましたが、Blazorに戻り、静的SSRを使用して、速度が急上昇し、正常にオンラインになりました。

继续阅读