使用C# asp.net core 同步数据库
2024/5/27 11:41:40

代码片段: 文末附链接。using DataSync.Ce using Furion.Logging.Extensions using Microsoft.Data.SqlClient using Microsoft.Extensions.Logging using System.Data namespace DataSync.Application.DataSync.Services {public class DataSyncServices : IDataSyncData ITransient{pr

13.画刷(Brush)
2024/5/27 11:41:40

在进行WPF界面设计时,我们需要在很多地方设置颜色属性,比如元素的背景色、前景色以及边框的颜色,还有形状的内部填充和笔画,这些颜色的设置在WPF中都以画刷(Brush)的形式实现。比如最常用的画刷就是SolidColBrush,它表示一种纯色。public abstract class Brush : Animatable IFmattable IResource {public static readonly DependencyProperty OpacityPropertypublic static

【OpenVINO™】在 Windows 上使用 OpenVINO™ C# API 部署 Yolov8-obb 实现任意方向的目标检测
2024/5/27 11:41:27

前言Ultralytics YOLOv8 基于深度学习和计算机视觉领域的尖端技术,在速度和准确性方面具有无与伦比的性能。其流线型设计使其适用于各种应用,并可轻松适应从边缘设备到云 API 等不同硬件平台。YOLOv8 OBB 模型是YOLOv8系列模型最新推出的任意方向的目标检测模型,可以检测任意方向的对象,大大提高了物体检测的精度。同时官方发布的模型已经支持 OpenVINO™ 部署工具加速模型推理,因此在该项目中,我们将结合之前开发的 OpenVINO™ C# API 部署YOLOv8 OBB 模型实

12.旋转、缩放、倾斜、平移Transform
2024/5/27 11:41:26

RotateTransfm旋转 RotateTransfm表示旋转一个对象的角度。首先我们来看一下它的定义public sealed class RotateTransfm : Transfm {public static readonly DependencyProperty AnglePropertypublic static readonly DependencyProperty CenterXPropertypublic static readonly DependencyProperty Cen

一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)
2024/5/27 11:41:24

最近做了几个 WPF + MudBlaz 的小东西,每次从头搭建环境比较繁琐,然鹅搭建过程还没啥技术含量,索性就直接做了个模板,方便以后使用。1. 介绍一个用来创建 . 8 + WPF + MudBlaz 的项目模板 适用于 VS2022用法:vs插件市场下载 自己通过 Github 源码编译2. 模板打包方法步骤都是基于 Github 仓库中的代码来做示例2.1 创建要打包的项目 WpfMudBlaz 这一步没什么好说的,想做什么样子的模板,就码怎样的代码即可。 2.2 替换模板关键字 Templat

通过Demo学WPF—数据绑定(二)
2024/5/27 11:41:21

准备 今天学习的Demo是Data Binding中的Linq:创建一个空白解决方案,然后添加现有项目,选择Linq,解决方案如下所示:查看这个Demo的效果:开始学习这个Demo xaml部分 查看MainWindow.xaml: Window x:Class="Linq.MainWindow"xmlns="http:schemas.microsoft.comwinfx2006xamlpresentation"xmlns:x="http:schemas.microsoft.comwinfx2006xam

10.路由事件
2024/5/27 11:41:20

先看一段代码:Window x:Class="HelloWld.MainWindow"xmlns="http:schemas.microsoft.comwinfx2006xamlpresentation"xmlns:x="http:schemas.microsoft.comwinfx2006xaml"xmlns:d="http:schemas.microsoft.comexpressionblend2008"xmlns:mc="http:schemas.openxmlfmats.gmarkupcompat

.NET NativeAOT 指南
2024/5/27 11:41:20

. NativeAOT 指南 随着 . 8 的发布,一种新的“时尚”应用模型 NativeAOT 开始在各种真实世界的应用中广泛使用。 除了对 NativeAOT 工具链的基本使用外,“NativeAOT”一词还带有原生世界的所有限制,因此您必须知道如何处理这些问题才能正确使用它。 在这篇博客中,我将讨论它们。 基本用法 使用 NativeAOT 非常简单,只需要在发布应用时使用 MSBuild 传递一个属性 PublishAot=true 即可。 通常,它可以是: dot publish c Relea

WPF性能优化:形状(Shape)、几何图形(Geometry)和图画(Drawing)的使用
2024/5/27 11:41:20

在用户界面技术中,绘图是一个绕不开的话题。WPF提供了多种可根据应用程序要求进行优化的2D图形和图像的处理功能,包括画刷(Brush)、形状(Shape)、几何图形(Geometry)、图画(Drawing)和变换(Transfm)等。其中形状(Shape)、几何图形(Geometry)和图画(Drawing)承担了基础的绘图功能,形状(Shape)使用方便简单,但占用资源相对较多,几何图形(Geometry)和图画(Drawing)则更轻量。 什么是形状、几何图形和图画 在WPF中,形状(Shape)是

【OpenCV】在Linux上使用OpenCvSharp
2024/5/27 11:41:18

前言 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,roid和Mac OS。OpenCvSharp是一个OpenCV的 . wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,该库采用LGPL发行,对商业应用友好。@目录1. 项目环境2. 创建控制台项目3. 添加 Nuget Package 程序包5. 安装依赖项目4. 测试应用

8.依赖属性
2024/5/27 11:41:16

WPF的依赖属性系统,它是指WPF提供的一组服务,专门用来扩展WPF的属性功能,而受到这些服务支持的属性就称为依赖属性。 WPF的依赖属性系统对于开发者而言,几乎是感知不到的,它通过DependencyProperty类型的一些静态方法成员,提供一系列注册依赖属性或附加属性的功能,让我们可以向依赖属性系统注册属于我们自己写的依赖属性。 为了对比CLR普通属性与WPF的依赖属性的区别,直观的认知两者的概念,我们先来看看普通属性的定义 普通属性private int length = 0 public int

Json Schema高性能.net实现库 LateApexEarlySpeed.Json.Schema
2024/5/27 11:41:16

LateApexEarlySpeed.Json.Schema Json schema validat generation from . type 除了用户手动传入标准的json schema来生成validat以外,LateApexEarlySpeed.Json.Schema 实现库也支持直接从用户代码中生成json schema validat. 基本用法 JsonValidat validat = JsonSchemaGenerat.GenerateJsonValidatTestClass() N

9.附加属性
2024/5/27 11:41:16

我们在学习布局控件时,其实也已经使用过附加属性了。下面我们来看一些例子GridGrid.RowDefinitionsRowDefinitionRowDefinitionGrid.RowDefinitionsButton Grid.Row="0" Content="按钮1"Button Grid.Row="1" Content="按钮2" Grid上面的代码中,按钮1被放到Grid的第一行中,按钮2被放到Grid的第二行中。通过Grid.Row附加属性完成这一设置。实际上这个Row属性并没有定义在Butto

浅谈WPF之UniformGrid和ItemsControl
2024/5/27 11:41:16

在日常开发中,有些布局非常具有规律性,比如相同的列宽,行高,均匀的排列等,为了简化开发,WPF提供了UnifmGrid布局和ItemsControl容器,本文以一个简单的小例子,简述,如何在WPF开发中应用UnifmGrid和ItemsControl实现均匀的布局,仅供学习分享使用,如有不足之处,还请指正。 什么是UnifmGrid 在WPF开发中,提供了一种Grid网格布局,此布局应用灵活,形式多样,在使用之前,需要定义行,列,设置高度,宽度等内容,使用相对复杂。为了简化布局,针对具有等宽,等高的

7.模板Template
2024/5/27 11:41:15

WPF的模板基类叫FramewkTemplate,它是一个抽象类,它有三个子类,分别是ControlTemplate(控件模板)、ItemsPanelTemplate(元素面板模板)和DataTemplate(数据模板) ControlTemplate控件模板用于定义控件的外观,也就是Control基类的Template属性,而绝大多数控件都继承于Control基类,意味着我们都可以去重新定义它们的视觉外观。 DataTemplate数据模板即数据的外衣。用于从一个对象中提取数据,并在内容控件或列表控件的

c#树结构转npoi复杂表头
2024/5/27 11:41:15

c#树结构转npoi复杂表头 Vue 前端框架框架中采用树结构打印表头为了前后端适配NPOI导出。 这里重点做树结构转换 NPOI 复杂表头的结构数据( 跨行、跨列) 其它具体导出功能请参考 https:www.cnblogs.comlwk9527p17374291.html 导出后实际效果c# 案例public void TestMethod0(){源数据ListHeadData headDatas = new ListHeadData()headDatas.Add(new HeadData()

轻松打造Windows服务:将.NET Core项目转化为无缝运行的后台服务
2024/5/27 11:41:14

概述:本教程教您如何将. Ce项目打造成Windows服务,实现无需用户登录的后台运行。通过简单步骤,您可以快速部署并管理服务,确保应用持续高效运行。 将.项目制作成Windows服务可以让你的应用在后台持续运行,无需用户登录。以下是将. Ce项目制作成Windows服务的步骤: 步骤: 1. 创建. Ce 项目 首先,确保你的项目是一个. Ce 项目。你可以通过使用以下命令创建: dot new console n YourServiceName 2. 安装 Microsoft.Extensions.H

Prism:打造WPF项目的MVVM之选,简化开发流程、提高可维护性
2024/5/27 11:41:14

概述:探索WPF开发新境界,借助Prism MVVM库,实现模块化、可维护的项目。强大的命令系统、松耦合通信、内置导航,让您的开发更高效、更流畅 在WPF开发中,一个优秀的MVVM库是Prism。以下是Prism的优点以及基本应用示例: 优点:模块化设计: Prism支持模块化开发,使项目更易维护和扩展。 强大的命令系统: 提供了DelegateComm等强大的命令实现,简化了用户交互操作的绑定。 松耦合的通信: 通过EventAggregat实现松耦合的组件间通信,提高了代码的可维护性。 内置导航系统:

6.Trigger触发器
2024/5/27 11:41:13

触发器是指当满足预设的条件时去执行一些事务的工具,比如我们希望鼠标移到某个按钮上方时,这个按钮的颜色、大小发生一些改变。这个时候,条件是鼠标移到按钮上,执行的事务是改变按钮的颜色和大小。 WPF提供了5种触发器,以满足不同场合下的使用要求。触发器主要运用的场景在Style、ControlTemplate、DataTemplate三个地方。触发器名称 说明Trigger 监测依赖属性的变化、触发器生效MultiTrigger 通过多个条件的设置、达到满足条件、触发器生效DataTrigger 通过数据的变化

深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
2024/5/27 11:41:13

C# 枚举 枚举是一个特殊的“类”,表示一组常量(不可更改只读变量)。 要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项: enum Level {LowMediumHigh }您可以使用点语法访问枚举项: Level myVar = Level.Medium Console.WriteLine(myVar)Enum 是 "enumerations" 的缩写,意思是“特定列举”。 在类内部定义枚举也是可行的: class Program {enum

5.WPF样式Style
2024/5/27 11:41:10

样式的类型叫Style,它继承于DispatcherObject,它最重要的几个属性如下: TargetType属性:这是一个类类型,也就是一个反射,这个属性指明了当前样式要作用于哪种类型的控件上。因为WPF中有许多的控件,我们定义一个样式时,必须要指明这个样式的“适用范围”。 BasedOn属性:样式也有继承的概念,所以,BasedOn指明了当前样式继承于哪个样式 Triggers属性:这是一个集合属性,表示触发器的定义,当满足某些条件时,触发哪些行为,以使控件达到一定的“节目效果”。比如当鼠标移上去时

通过Demo学WPF—数据绑定(一)✨
2024/5/27 11:41:10

前言✨ 想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码+文档的方式进行学习。 准备✨ 微软官方其实提供了WPF的一些Demo,地址为:microsoftWPFSamples: Reposity f WPF related samples (github.com) 将其克隆到本地,有很多的Demo代码:新建一个空白解决方案:添加现有项目:选择Data Binding 中的 SimpleBinding:项目文件如下所示:查看SimpleBinding这个Demo的

C#中根据传入的字符串字段返回实体Lambda表达式
2024/5/27 11:41:09

我们在操作实体的时候,经常会使用到Lambda表达式,如下所示就是对实体IOT_Sample的CrtTime进行操作: var ret = NestExtension.GetStIOT_Sample(m = m.CrtTime true)但是往往有些时候我们具体的业务只告诉我们该实体的某个字段名称(字符串类型的),这个时候我们就需要根据传过来的字符串字段名称返回该实体对应字段的Lambda表达式,具体代码实现如下: 创建表达式参数(指定参数或变量的类型) var param = Expression.Pa

4.Binding类之转化器和验证规则
2024/5/27 11:41:09

转化器 IValueConverter接口 Binding类还有一个Converter属性,其实,它是一个IValueConverter接口。它的主要作用是:前后端建立绑定时,定义一套自定义逻辑,让前端显示的数据与后端获取的数据建立一定的对应关系。 比如Person对象有一个年龄(Age)属性,我们在前端显示某个人的年龄时,可以根据不同的年龄,显示不同的背景颜色。这个时候,实际上是根据这个输入的整型数据返回一个不同颜色的画刷。 摘要: Provides a way to apply custom

TopShelf创建服务
2024/5/27 11:41:08

TopShelf创建Windows服务 安装NuGet包TopShelf 如图11所示,先安装TopShelf的NuGet包;图11 创建服务类 如图12所示,创建一个ServiceManager服务类,并创建了两个方法,分别为Start和Stop方法,分别在服务启动和停止时调用;图21 使用TopShelf创建服务 如图31所示,在Program.cs文件中对服务进行配置;图31 调用开始 如图32所示,WhenStarted是指在服务启动时应该调用Start方法的意思;图32 调用停止 如图33所示,

3.数据绑定
2024/5/27 11:41:07

什么是MVVM看一张图。View负责数据的输入与输出;ViewModel负责业务逻辑;Model则表示程序中具体要处理的数据。所以,Model将作为属性存在于ViewModel中,而Model最终是要显示在Ul界面(View)上的,怎么办呢?将ViewModel赋值给View的DataContext(数据上下文)属性,View就可以引用ViewModel中的那些Model了。 DataContext属性位于FramewkElement类中,所以继承FramewkElement类的控件都具有DataCont

第二届数字化经济与管理科学国际学术会议(CDEMS 2024)
2024/5/27 11:41:05

【经济&管理|录用率高】第二届数字化经济与管理科学国际学术会议(CDEMS 2024) 2024 2nd International Conference on Digital Economy Management Science(CDEMS 2024) 重要信息 大会官网:www.icdems.com 大会时间:2024年4月2628日 大会地点:武汉(线上线下结合) ✱截稿日期:2024年4月20日(四轮) 接受拒稿通知投稿后1周 收录检索:CPCI,CNKI 见刊历史: CDEMS 202

C#邮件发送
2024/5/27 11:41:05

C#基于SMTP的邮件发送 准备工作 注册邮箱 首先我们需要注册一个作为发送邮件的邮箱,这一步可以直接进入网易邮箱官网进行注册, 注册地址:https:mail.163.com 这里我们可以选择【快速注册】和【普通注册】,如图11所示,这里我选择的普通注册;图11 登录邮箱 注册完成之后,我们登录邮箱,登录网址:https:mail.163.com; 输入上一步中注册的账号和密码,如图12所示,进行登录;图12 开启SMTP服务 首先点击设置,在图13中标识出来了,进入设置后我们找到SMT,点击进入进行设

OpenCvSharp打造智能考勤系统,实现高效人脸录入和精准考勤识别
2024/5/27 11:41:04

概述:该考勤系统基于OpenCV和OpenCvSharp实现,包含员工人脸录入和上下班考勤人脸识别。员工人脸特征通过B方法提取并存储,考勤时通过相似度计算识别员工。系统灵活、可扩展,提高考勤效率,确保准确性。 实现基于OpenCV和OpenCvSharp的考勤系统,包括员工人脸录入和上下班考勤人脸识别。以下是详细步骤和示例代码: 步骤1:安装OpenCvSharp 确保在项目中已安装OpenCvSharp库。通过NuGet包管理器或包管理控制台执行以下命令: InstallPackage OpenCvSh

C# 继承、多态性、抽象和接口详解:从入门到精通
2024/5/27 11:41:04

C# 继承 在 C# 中,可以将字段和方法从一个类继承到另一个类。我们将“继承概念”分为两类:派生类(子类) 从另一个类继承的类 基类(父类) 被继承的类要从一个类继承,使用 : 符号。 在以下示例中,Car 类(子类)继承了 Vehicle 类(父类)的字段和方法: 示例 class Vehicle 基类(父类) {public string br = "Fd" 车辆字段public void honk() 车辆方法{Console.WriteLine("Tuut