如何将WinForm与Blazor技术结合实现混合开发?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2402个文字,预计阅读时间需要10分钟。
在上一篇文章中,我们介绍了Brazor文件中js与css的关系。以下是简要概括:
1. Brazor文件中,js和css是两种常用的资源文件。
2.js文件主要负责页面的逻辑处理和动态交互。
3.css文件则用于页面的样式设计,包括颜色、字体、布局等。
4.在Brazor文件中,通常将js和css文件放在相应的标签中引用。
5.这样做可以保证页面的结构清晰,便于维护和扩展。
在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。
WinForm中混合Blazor是通过ServiceCollection来完成的,如果想WinForm和Blazor交互,可以通过向ServiceCollection注入一个中介服务来达到互相调用,大体思路是定义一个服务,这个服务里有方法和事件,方法被调用,触发订阅者。比如调用方是WinForm的话,订阅者就是对应js的方法了;如果调用方是js,那订阅事件的就是WinForm里的方法了。
WinForm是不可能直接调用到JS的,主要通过IJSRuntime来调用js方法,同样,js也不能直接调WinForm,是通过js调razor中方法,razor方法再调用WinForm来实现,总体上就是razor中的C#层,是中间桥梁。razor中的 C#与WinForm就是通过注入ServiceCollection中的事件服务来互通协作(有点绕,多读几次)。
本例中定义了一个IEventHub接口和EventHub一个实现类完成封装。
本文共计2402个文字,预计阅读时间需要10分钟。
在上一篇文章中,我们介绍了Brazor文件中js与css的关系。以下是简要概括:
1. Brazor文件中,js和css是两种常用的资源文件。
2.js文件主要负责页面的逻辑处理和动态交互。
3.css文件则用于页面的样式设计,包括颜色、字体、布局等。
4.在Brazor文件中,通常将js和css文件放在相应的标签中引用。
5.这样做可以保证页面的结构清晰,便于维护和扩展。
在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。
WinForm中混合Blazor是通过ServiceCollection来完成的,如果想WinForm和Blazor交互,可以通过向ServiceCollection注入一个中介服务来达到互相调用,大体思路是定义一个服务,这个服务里有方法和事件,方法被调用,触发订阅者。比如调用方是WinForm的话,订阅者就是对应js的方法了;如果调用方是js,那订阅事件的就是WinForm里的方法了。
WinForm是不可能直接调用到JS的,主要通过IJSRuntime来调用js方法,同样,js也不能直接调WinForm,是通过js调razor中方法,razor方法再调用WinForm来实现,总体上就是razor中的C#层,是中间桥梁。razor中的 C#与WinForm就是通过注入ServiceCollection中的事件服务来互通协作(有点绕,多读几次)。
本例中定义了一个IEventHub接口和EventHub一个实现类完成封装。

