自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 第五章 文件传输(1) - 文件上传

Blazor框架中,提供了InputFile组件用于支持文件上传功能,该组件渲染为HTML中的<input>_bl_2=""multiple:允许用户一次上传多个文件OnChange:回调函数,当所选文件集合发生变化时触发,接收一个类型的参数:文件集合参数对象,可以获取到上传文件的信息。FileFileCountintint示例exMessage。

2025-04-04 15:44:40 770

原创 第四章 表单(3)- 表单验证

在Blazor中,表单的验证可以通过两种方式实现,一种是使用Blazor所提供表单验证特性,另一种是使用ValidationMessageStore进行验证。

2025-04-04 13:00:05 756

原创 第四章 表单(2)- 输入组件

Blazor框架提供了用于接收和验证用户输入的内置输入组件,这些组件可以在EditForm表单组件中使用,也可以在表单之外使用,当更改输入和提交表单时,会验证输入(如果开启了验证)。输入组件渲染为如下HTML元素描述复选框日期选择框InputFile文件上传数字框单选按钮子组单选按钮组<select>下拉菜单/列表选择框InputText<input>单行文本框<textarea>多行文本框是表单输入组件的抽象基类,在上述输入组件列表中,只有InputFile和。

2025-03-24 22:46:18 704

原创 第四章 表单(1)- 表单

对于表单功能,Blazor框架不仅支持HTML原生的表单,还提供了内置组件以及相应的内置输入组件。

2025-03-08 21:22:05 567

原创 第三章 组件(12)- 自定义组件类库

组件可以通过 Razor 类库(Razor Class Library, RCL)实现跨项目复用。Razor 类库不仅能够包含可重用的组件,还可以打包静态资源(如 CSS 和 JavaScript 文件)。由于这些组件本质上都是常规的 .NET 类型,因此通过 RCL 分发的组件最终会被编译为标准 .NET 程序集,这使得它们能够像其他类库一样被项目直接引用和使用。

2025-03-08 12:44:25 1156

原创 第三章 组件(11)- 动态组件与表格组件

在 Blazor 中,组件允许在运行时动态地加载和渲染组件。Type在下面的示例中,DynamicComponentTest组件通过选择下拉框来动态渲染组件ComponentA或ComponentB。

2025-02-28 23:28:28 786

原创 第三章 组件(10)- CSS隔离

默认情况下,范围标识符使用格式b-{STRING},其中{STRING}占位符是框架生成的十个字符的字符串。指定单个CSS隔离文件的范围标识符</在上面的示例中,为生成的 CSS 将其范围标识符从b-{STRING}更改为了CSS隔离文件的继承可以通过范围标识符实现CSS文件的继承,在下面的项目文件示例中,文件包含跨组件的通用样式,文件继承了这些样式。</共享范围标识符可以使用通配符 () 运算符跨多个文件共享范围标识符</

2025-02-28 23:10:47 1224

原创 第三章 组件(9)- 组件虚拟化

在 Blazor 框架中,可以使用内置的虚拟化组件提高渲染性能。虚拟化是一种技术,用于将 UI 渲染限制为仅当前可见的部分。假设当前有一个无限长的列表,并且在任何给定的时间只需要一小部分项可见时,虚拟化很有帮助。适合使用当用户滚动到组件的项列表中的任意点时,组件将计算要显示的可见项。看不见的项将不会渲染。如果不使用虚拟化,典型列表可能会使用 C#foreach循环来渲染列表中的每一项。

2025-02-23 21:50:39 787

原创 第三章 组件(8)- 控制 <head> 内容

Razor 组件可以修改页面的 HTML<head>元素内容,包括页标题<title>元素、元数据<meta>元素、<base>和<link>等。

2025-02-23 21:35:11 418

原创 第三章 组件(7)- 布局与Sections

有些应用元素(例如菜单、版权消息和公司徽标)通常是应用整体布局的一部分。如果在每一个组件中都编写这些应用元素,那每次更新其中一个应用元素时,都必须同时更新使用该元素的每个组件。这种方法的维护成本很高,并且如果漏掉没有更新,还可能会导致内容不一致,显然是一种效率较低的方法。通过可以解决这些问题。

2025-02-20 23:22:51 818

原创 第三章 组件(6)- 事件处理

Blazor 支持自定义事件(这里的自定义事件是在DOM事件的基础上的),在自定义事件中,可以设置自定义的事件参数,借助这些参数,可以将任意数据通过自定义事件传递给 .NET 事件处理程序。创建JS初始设置项在wwwroot下添加文件每个事件仅在脚本中调用一次。return {});创建C#事件处理类与参数一般情况下,可以在项目中新建CustomEvents文件夹,在其中创建自定义事件处理类以及自定义事件参数事件处理类必须使用特性进行注释,静态的且名为,这样才可以被Razor编译器找到。

2025-02-20 23:02:13 1162

原创 第三章 组件(5)- 数据绑定

在Blazor项目中,实现数据的双向绑定很简单,只需要在组件的HTML输入元素使用@bind属性来绑定字段、属性或 Razor 表达式值即可。@bindvaluevalue@bind在下面实例中,在Bind组件中分别在两个Input元素中通过@bind属性指令进行字段和属性的绑定。当Input元素失去焦点时,将更新其绑定的字段或属性。示例-Bind.razor需要注意的是,在Blazor中,仅在渲染组件时才会更新UI来反应字段和属性的更新,而不会因为字段和属性的更新而立即做出响应。

2025-02-19 22:25:30 1108

原创 第二章 基础知识(7) - 配置

这里以Blazor web app Auto/Per page项目为例子,创建项目后,可以看到解决方案中会出现两个项目,一个是服务端,一个是客户端(.Client)。例子中,使用了Auto渲染模式,一开始会进行预渲染、服务端交互渲染,然后会进行客户端交互渲染,所以只有刚开始出现页面时能访问到数据,过一会切换到客户端交互渲染后,就访问不到了。上面的所使用的是项目的默认json配置文件,一般情况下,项目配置文件多用来进行一些较为关键的参数配置,例如日志、数据库连接字符串等等。如果有额外的参数需要配置,建议在。

2025-02-19 20:53:15 952

原创 WPF入门到跪下 第六章 图像

在 WPF 中,派生自,是图像处理的核心抽象类,提供了对位图图像数据的通用定义和操作功能。它是整个 WPF 图像处理体系中的基础,用于处理和表示不同来源、格式的图像数据。

2024-12-22 10:05:49 898

原创 WPF入门到跪下 第六章 图形-可视化对象

WPF中可视化对象的使用详解

2024-12-21 23:15:01 1137

原创 Refit 使用详解

Refit用法详解:Refit 是一个针对 .NET 应用程序的 REST API 客户端库,它通过接口定义 API 调用,从而简化与 RESTful 服务的交互。其核心理念是利用声明性编程的方式来创建 HttpClient 客户端,使得 API 调用更加简洁和易于维护。

2024-11-30 15:39:48 1414

原创 第二章 基础知识(2) - Razor语法

本文主要讲解Razor的基础语法

2024-09-08 14:20:43 2278

原创 WPF入门到跪下 第十三章 3D绘图 - 3D绘图基础

四大要点WPF中的3D绘图涉及4个要点:要展示3D内容,首先需要一个容器来装载3D内容。在WPF中,这个容器就是(3D视口),它继承自,因此可以像其他元素那样在XAML中使用。与其他元素相比较,仅增多了两个属性:和。此外,还有一个值得注意的属性,,这个属性在使用上与其他元素没什么区别,只是如果在渲染复杂且频繁更新的3D场景中置为,可以很好地提升性能。视口能够注入所有继承自类的3D对象。但是如果我们要在WPF中通过XAML或者代码去创建可用的3D对象,其复杂程度是难以想象的,而WPF的原生库中也没有提供3D形

2024-09-07 16:50:36 1954

原创 WPF入门到跪下 第十一章 Prism(八)模块化管理-Module

Module是功能和资源的逻辑集合,其打包方式可以单独开发、测试、部署并集成到应用程序中。当随着项目较为庞大,有大量的不同业务、ViewViewModel时,就需要考虑根据不同业务进行程序集的拆分了,而Module就是帮助我们管理不同的程序集并集成到应用程序中。每个模块化管理的程序集中都有一个模块核心类,IModule的子类。主程序集通过加载这个IModule的子类,就可以将对应程序集集成到主程序集的prism框架中来。

2024-09-07 14:34:28 1719

原创 WPF入门到跪下 第十一章 Prism(五)IOC的依赖注入

默认情况下Prism框架的项目,在打开窗口时会自动匹配主窗口的视图模型类(启动),这里是MainWindowViewModel,匹配到之后Container自动创建MainWindowViewModel的实例,创建时会先检查MainWindowViewModel有没有无参构造函数,如果没有则会检查构造函数的参数类型,并在Container内部列表中寻找对应类型并创建参数对象,然后使用该参数对象来创建MainWindowViewModel。设置好在函数中注册依赖类型使用命名空间下的。

2024-09-07 13:43:05 1459

原创 WPF入门到跪下 第十一章 Prism(四)View与ViewModel的自动关联

在学习MvvmLight框架时,也使用了类。但在MvvmLight框架中,只是一个自定义类,与框架无关,目的就是初始化IOC容器。而在Prism框架中则不同,Prism框架内置了类,并且可以帮助我们进行View与ViewModel层之间的绑定。

2024-09-07 13:17:31 1678

原创 WPF入门到跪下 第十二章 性能优化-列表控件性能

下面记录几种针对大数据列表控件性能的增强特性,WPF所有继承自的控件(列表控件)都支持这些增强特性,包括ListBoxComboBoxListViewTreeView以及DataGrid。

2024-07-25 11:02:31 886

原创 第三章 组件(4)- 参数与级联值

在使用组件时,可以通过组件参数将数据传递给组件,接收数据的组件,则需要使用特性定义对应的公共属性。在下面的示例中,内置引用类型 () 和用户定义的引用类型 (PanelBody) 作为组件参数进行传递。Value=thisgetsetset在渲染组件时,Blazor 不能在 Razor 表达式中执行异步工作,例如。这是因为 Blazor 是为渲染交互式 UI 而设计的。在交互式 UI 中,屏幕必须始终显示某些内容,因此阻止渲染流是没有意义的。相反,异步工作是在一个异步生命周期事件期间执行的。

2024-07-15 21:14:23 1027

原创 第三章 组件(3)- 组件渲染

默认情况下,交互式渲染模式(Server或WebAssembly)的组件会自动采用流式渲染,如果是在静态服务器端渲染的组件中想要使用流式渲染,那么需要通过。默认情况下,交互式渲染的组件是支持预渲染的,这种情况下,组件在进行初始化加载时,如果预渲染期间设置了状态值,那么当交互式渲染完成后这个状态值将会丢失。将 SharedMessage 组件在指定了渲染模式的组件中使用时,SharedMessage组件将会继承所在组件的渲染模式。,可以随时触发渲染,但是注意避免不必要的调用以产生不必要的渲染成本。

2024-07-14 13:07:57 1032

原创 第三章 组件(2)- 生命周期与资源释放

组件从创建到销毁的过程中,会触发一系列的内置事件,而订阅这些事件的内置方法,称为Razor组件的生命周期方法。我们在定义组件时,可以通过重写这些生命周期方法以在组件初始化和渲染期间对组件执行其他操作。1.创建组件实例(组件第一次渲染时发生)2.调用,以执行属性的注入(组件第一次渲染时发生)3.调用方法(组件第一次渲染时发生)4.和完成后,调用方法。5.在渲染完成后调用。示例注意,由于要决定需要渲染哪些子组件,因此父组件的渲染是要先于子组件的。

2024-07-13 14:54:39 850

原创 第二章 基础知识(6) - 静态文件

以下内容主要以Blazor App (server)项目为例子。

2024-07-13 13:55:13 1105

原创 第二章 基础知识(5) - 异常处理

默认情况下,组件会为其错误内容渲染具有CSS 类的空元素。默认 UI 的颜色、文本和图标是使用wwwroot文件夹中应用样式表中的 CSS 定义的,因此我们也可以自定义异常 UI。自定义异常边界组件的样式需要通过和属性来组合完成。示例@Body除了直接使用内置的组件来处理异常外,我们还可以自定义异常处理组件,然后通过将我们自定义的异常组件向下传递给子孙组件,在子孙组件中去使用我们自定义异常组件中的异常处理方法。使用自定义异常组件来处理异常可以比。

2024-07-11 21:12:48 1304

原创 第二章 基础知识(4) - 日志记录

有时可能会遇到需要自己定义日志提供程序的需求,要实现自定义的日志提供程序,具体需要进行如下步骤:创建日志级别字典。

2024-07-09 22:08:47 965

原创 第二章 基础知识(3) - 依赖注入

依赖注入是一种设计模式,在类及其依赖关系之间实现控制反转(IOC)的技术。Blazor web App项目中已经将依赖注入的设计模式加入其中了,因此在整个框架中,依赖注入无处不在。对于框架本身,内置了许多的组件服务供开发者使用,例如配置组件、日志组件、选项组件等,也可以将自己定义的服务进行注册。Blazor 项目中,服务的注册默认是在Program中进行的。

2024-07-03 21:39:47 936

原创 第二章 基础知识(2) - 配置

Blazor Web App 项目关键配置,包括启动配置、环境配置、参数配置等等

2024-06-30 12:43:51 1233

原创 第二章 基础知识(1) - 路由和导航

Blazor使用名为Router的专用组件来实现路由请求,以Blazor web app auto项目为例,Router组件配置如下:当在组件中使用@page指令指定路由地址后,在编译时会为生成的组件类设置一个特性来指定组件的路由模板。应用启动时,Blazor会检查Router组件的等属性,以了解它应扫描哪些程序集。然后通过扫描这些程序集来寻找具有特性的类型(组件),并使用的对应属性值来编译出RouteData对象,该对象指定如何将请求路由到组件。在进行导航时,当存在匹配的路由,使用

2024-04-21 12:07:07 1225 1

原创 第三章 组件(1)- 概述

本文主要对Blazor中的组件进行了概述

2024-04-20 22:11:54 754

原创 WPF常用技巧-防止系统休眠

程序中的一个终端窗口多数时间处于无人值守状态,并实时联网工作,为避免系统休眠、显示器关屏等情况,可调用kernel32.dll的。:使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入睡眠状态或关闭显示器。函数,此函数的作用是通知操作系统本程序正在使用中,不得进入睡眠状态或关闭显示器。以WPF为例子,可以在。来防止系统休眠和恢复休。

2024-04-14 11:21:39 773

原创 第一章 渲染模式与项目结构

Blazor是一种前端 Web UI 框架,Blazor 应用由使用 C#、HTML 和 CSS 构建的可重复使用的 Web UI 组件构成,通俗的说就是可以使用C#来完成JavaScript的交互工作,从而替代JavaScript(当然,就目前而言是做不到完全不使用JavaScript的),减轻开发人员的学习负担或项目开发成本。Blazor应用是基于组件进行开发的,这里的组件是指 UI 元素,例如页面、对话框或数据输入窗体。

2024-04-14 11:13:41 1450

原创 WPF入门到跪下 第十一章 Prism(八)模块化管理-Module

Module是功能和资源的逻辑集合,其打包方式可以单独开发、测试、部署并集成到应用程序中。当随着项目较为庞大,有大量的不同业务、ViewViewModel时,就需要考虑根据不同业务进行程序集的拆分了,而Module就是帮助我们管理不同的程序集并集成到应用程序中。每个模块化管理的程序集中都有一个模块核心类,IModule的子类。主程序集通过加载这个IModule的子类,就可以将对应程序集集成到主程序集的prism框架中来。

2024-03-25 21:27:40 2162

原创 C#基础-线程暂停方案之重置事件

默认情况下,一个线程的特定指令相对于另一个线程中的指令的执行时机是不确定的,如果想要对这种不确定性进行控制,其中一种办法就是使用重置事件(虽然称为事件,但是跟C#的委托跟事件没关系)。重置事件用于强迫代码等候另一个线程的执行,直到获得事件已发生的通知。重置事件类型包括以及,但在使用过程中应该尽量用前面两种类型,而避免使用。

2024-02-06 11:36:51 896

原创 WPF入门到跪下 第十一章 Prism(七)区域化管理-Region

WPF、MVVM框架、Prism的区域管理详细教程

2024-02-06 10:44:03 3430

原创 WPF入门到跪下 第十一章 Prism(六)跨模块交互

Prims 跨模块通信

2024-02-01 13:47:39 2742 1

原创 WPF入门到跪下 第十一章 Prism(五)IOC的依赖注入

以项目启动时MainWindowViewModel的依赖注入为例,默认情况下Prism框架的项目,在打开窗口时会自动匹配主窗口的视图模型类(启动),这里是MainWindowViewModel,匹配到之后Container自动创建MainWindowViewModel的实例,创建时会先检查MainWindowViewModel有没有无参构造函数,如果没有则会检查构造函数的参数类型,并在Container内部列表中寻找对应类型并创建参数对象,然后使用该参数对象来创建MainWindowViewModel。

2024-01-31 15:59:08 3978

原创 WPF入门到跪下 第十一章 Prism(四)View与ViewModel的自动关联

在学习MvvmLight框架时,也使用了类。但在MvvmLight框架中,只是一个自定义类,与框架无关,目的就是初始化IoC容器。而在Prism框架中则不同,Prism框架内置了类,并且可以帮助我们进行View与ViewModel层之间的绑定。

2024-01-26 17:48:22 2848

ILSpy8.2.0.7535安装版

.Net反编译工具,ILSpy8.2.0.7535安装版

2024-10-17

雷赛运动卡DMC5480全套资料

雷赛运动卡DMC5480全套资料,包括手册和Demo,这个运动卡比较老了,资料找起来相对费劲,在这里分享完整的资料

2024-07-13

雷赛运动卡DMC2410全套资料

雷赛运动卡DMC2410全套资料,包括手册和Demo,这个运动卡比较老了,资料找起来相对费劲,在这里分享完整的资料

2024-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除