自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 问答 (1)
  • 收藏
  • 关注

原创 EventHandler封装事件

泛型委托对应的事件:public event EventHandler priceChanged;EventHandler委托定义出来的事件,如果委托使用了泛型,那么第二个参数就可以用来传递参数。一般事件:public event EventHandler priceChanged2;背景:委托类型EventHandler使用泛型封装事件。

2024-04-07 20:08:00 253

原创 WPF中嵌入3D模型通用结构

背景:wpf本身有提供3D的绘制,但是自己通过代码描绘出3D是比较困难的。3D库helix-toolkit支持调用第三方生成的模型,比如Blender这些,所以在wpf上使用3D就变得非常简单。引入helix-toolkit命名空间:xmlns:ht="http://helix-toolkit.org/wpf"--方法Viewport_MouseDown中判断有没有点击中了我们自己导入的模型。3、Code_behind设置点开页面就选择3d模型。2、xaml界面中设置相机和光源等参数。

2024-04-06 22:51:15 755

原创 EFCore通用数据操作类

【代码】EFCore通用数据操作类。

2024-04-06 16:02:04 322

原创 EFCore通用仓储类

/ 他是Func类型做委托。

2024-04-04 16:10:30 494

原创 EFCore报错:Unable to create an object of type ‘EFCoreContext‘. For the different patterns supported at

遇到错误 "Unable to create an object of type 'EFCoreContext'" 通常发生在尝试使用Entity Framework Core的或其他EF Core命令时,且EF Core工具不能自动创建DbContext实例。

2024-04-04 12:00:59 93

原创 获取配置文件

背景:在做winform的时候很经常就是将数据库的连接字符串信息保存到配置文件中,今天突然发现asp.net core webapi中的获取方式是很不一样的。这个的是使用最好是自己写一个Configuration类,用于对配置文件的访问。-- 这两个拓展方法使用的NuGet包都是官方提供的。配置文件保存在appsettings.json中。-- 第二个就是我们自己增加的数据库连接字符串。-- 第二个就是我们自己增加的数据库连接字符串。在.net framework中。配置文件在App.config中。

2024-04-04 00:23:08 327

原创 年少不知EFCore好,错把SqlSugar当成宝

背景:依然记得我的第一份WebApi项目使用得是SqlSugar,当时还没有系统学习b/s这边的知识,跟着别人做项目用SqlSugar觉得非常方便,减少了自己手写ADO.Net的痛苦。但是今天发现这个EFCore也是巨好用啊,下面写一下他的简单使用。-- 第一个是对应当前要使用的数据库的,第二个就是EFCore的工具的。-- 继承DbContext,然后数据库实体类写成DbSet。3、创建DbContext。1、安装NuGet包。2、创建数据库实体类。

2024-04-03 23:10:59 668

原创 Quartz.Net详解(定时任务和调度)

http://t.csdnimg.cn/Jinaphttp://t.csdnimg.cn/Jinap

2024-04-02 10:37:02 214

原创 EFCore的空迁移(EFCore操作已存在的数据库表,不影响其中的数据)

背景:EFCore默认的会自动创建数据表,但是有时又是DBFirst,数据库写好了要用现成的表。这个时候就需要进行一些特殊的操作了。总结:写好对应数据库表对应的实体类,生成的迁移类Up和Down中注释掉创建这个表的代码(欺骗EFCore,让它以为创建好了)3、注释掉新的迁移类中的Up和Down方法里面的内容。1、写出跟要对接数据库的实体类。那么对应的实体类就要对应得上。-- 这个可以让ai写一下。比如我的表是这样创建的。

2024-03-30 16:27:16 220

原创 EFCore多数据库操作实例

直接的Add_Migration他是无法分辨要使用的是哪一个context进行操作的,所以就得指定要迁移的是哪一个。背景:由于两个项目api,懒得重新搭建了,就使用EFCore对两个数据库进行操作。首先碰到的就是迁移问题。

2024-03-30 16:14:09 111

原创 WebApi部署到IIS

下次更新项目再写过程。

2024-03-28 20:53:38 168

原创 EFCore报错:Could not load assembly ‘MyToDo‘. Ensure it is referenced by the startup project ‘MyToDo.Ap

默认项目改为自己要执行的那个文件。

2024-03-27 00:41:00 115

原创 用户控件窗口如何实现居中弹出呢

用户控件是没有WindowStartupLocation属性可以设置的,这个是窗体才能这样设置;那么弹出的用户控件如何设置居中呢?用上Prism的Dialog.WindowStyle就可以对用户控件的弹窗设置窗体的属性了。-- 最后一条就是,其它的也可以设置。

2024-03-26 13:53:53 140

原创 若依添加页面

views中直接添加income文件夹,里面放着index.vue。背景:我想增加的是一个收支管理的页面。网页的菜单中添加这个页面的菜单。

2024-03-21 22:01:11 232 2

原创 Prism的发布和订阅

我这里的需求是将消息传递给消息队列(起作用的是一个将消息传递给消息队列这么一件事情,所以这里的Subscribe是一个Action;Public发布的只是string类型的消息所以string类型就行了)-- 这里发布和订阅的消息是string类型所以就只用PubSubEvent类。又看了一下它是订阅到一个方法中的,记住就好(理解:发布都是很少东西,订阅就一大堆)-- 只要有消息发布,订阅部分就会响应,除非是取消订阅了。--我这里用的是拓展方法所以用起来也是更加方便。当然该有的发布和订阅类还是要有的。

2024-03-18 01:07:59 424

原创 Prism对话服务

弹窗的窗口ViewModel需要使用IDialogAware;这个接口会带上一个RequestClose的Action,作用就是返回窗体的值。这里的弹窗是窗体来的。

2024-03-18 00:43:59 354

原创 npm run dev报错:> set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service servenode:

执行命令npm run dev没有立刻运行而是显示下面的信息。

2024-03-17 13:13:26 772

原创 视觉树和逻辑树的区别

可以使用System.Windows.Media中的LoginTreeHelper和VisualTreeHelper对视觉树和逻辑树进行遍历。1、观察可以看到逻辑树其实就是跟xaml的布局结构是一样的(应用程序中所有控件的元素的层次结构)。使用工具snoop可以观察到视觉树(使用:运行软件->将该软件右边的十字架拉到在运行的wpf窗体中)3、视觉树渲染细节:颜色、动画、布局,边框、背景、布局、样式,暴露视觉的实现细节。6、逻辑树注重结构,视觉树包含渲染的所有细节。4、模板内的元素不包含在逻辑树中。

2024-03-14 08:41:24 368

原创 WPF图表库LiveCharts的使用

这个LiveCharts非常考究版本,它有非常多个版本,.net6对应的是LiveChart2。我这里的wpf项目是.net6,所以安装的是这三个,搜索的时候要将按钮“包括愈发行版”打勾。问题就来了,git下载下来却总是编译不成功,不知道为什么,有空再琢磨。

2024-03-13 20:24:03 543

原创 C#中IEnumerable<string>和IList<string>的区别

总结:IList更加厉害,IEnumerable只能迭代不能改(跟枚举类型enum联系起来)是两种不同的接口,它们具有不同的特性和用途。

2024-03-13 17:32:20 506

原创 WPF使用materialdesign报错:IOException: 找不到资源“themes/materialdesigntheme.defaults.xaml”。

背景:搞了好久,跟着别人装这个md库,找了几份试下来多不行,结果就是查csdn看到有人说是5.0版本在配置上有更新。后面又尝试了其它的.net版本用这个也不行,那就将WiKi上的资源都排列组合一下,直到能用。这个是App.xaml的加载资源。

2024-03-13 15:44:14 645

原创 Prism区域管理实现导航

解释:这里的跨模块指的是View位于不同的类库中(图中的ModuleA和ModuleB就是WPF的类库,Prism127是Prism.DryIoc的空项目),然后Prism127项目的写法跟上面没跨模块访问的差不多,都是实现了导航。通过这种方法就不需要ModuleA和ModuleB类库的引用的,变为使用他们两个的dll,这里写的是bin/debug/net6.0-windows,这样就可以将AB两个类库装到Modules文件夹下了,".\"则表示运行的当前文件。Title对应的消息就是Hello。

2024-03-12 13:25:44 616

原创 若依 启动!(手把手配置好Java若依,运行起来)

找到1处,2、3处是自己数据库的账号的密码,4处的是数据库名称(需要自己去创建)1、将若以git clone下来,或者不想要那么多git信息的就下载zip包。6、到ruoyi-ui处打开终端,执行命令:npm install。背景:若依非常厉害,以至于现在不用一些都感觉声明缺少点什么。2、配置好Maven(自己搜索一下怎么配,很简单的)7、然后 npm run dev就能运行前端了。5、启动redis,然后就可以启动后端了。4、拿它提供的sql去数据库中跑一下。

2024-03-12 00:40:57 845

原创 WPF中的ListBox样式(没被选择有点模糊,选中清晰,鼠标进入变大,移出变小)

【代码】WPF中的ListBox样式(没被选择有点模糊,选中清晰,鼠标进入变大,移出变小)

2024-03-11 21:00:58 563

原创 ListBox显示图片的一些问题

显示图片的方案就是:自定义一个Photo类,里面有属性Source;View再绑定ViewModel中的Photo集合,再到View中给ListView设置数据模板。-- 将这个数据模板放到Window.Resources中也会起作用的,即使ListBox中绑定的是一个Photo类型的集合。如果想要这些图片横向排列,就得设置ItemsPanel。关键点:这样做很容易忘记写数据模板。

2024-03-11 15:37:55 532

原创 WPF资源的继承

这是时候有些控件可能需要一个样式在这个基础上加一点内容的。如果是普通有key的就basedon后面接静态资源就行了。假设这里有一个全局的资源。

2024-03-11 14:53:07 803

原创 WPF自定义快捷命令

- 其中的Executed就是摁下快捷键要调用code_behind的方法。2、在xaml中使用该类。

2024-03-10 20:41:40 339

原创 FocusVisualStyle通常是键盘焦点样式

- 这个样式是显示外边框有间隔的红点(虚线),起主要作用的是StrokeDashArray属性;这个样式如果Button直接引用的话会让Content显示不正常,所以就需要让控件模板设置"ContentPresenter",然后这个属性通常需要结合Border进行使用。-- 经过这样设置后Button就可以引用的Content显示正常,按钮周边也有虚线。设置了Button的FocusVisualSytle但是死活没有效果,查了一下这个是键盘焦点样式,摁下Tab键了才能让Button有焦点。

2024-03-10 16:40:07 361

原创 Storyboard动画、EventTrigger事件触发器

就是动画,要注意的就是EventTrigger中的SourceName就是想要实现这个功能的按钮。

2024-03-10 15:11:22 335

原创 TextBox中的Validation属性

作用:Validation可以使用Validation.ErrorTemplate指定如果输入不符合验证使用的控件模板,TextBox.Text中的Binding中有Binding.ValidationRules指定验证规则。-- 写得有点多了,其实主要就Validation.ErrorTemplate和Binding.ValidationRules。错误的时候使用的控件模板。

2024-03-09 21:58:09 341

原创 使用依赖属性封装控件

- 这个控件就是一个比普通TextBox多一个属性的自定义控件,这个bool属性就可以设置触发器来进行不一样的显示。使用code_behind简单封装控件,增加一个属性(依赖属性),给触发器做标记。-- 这里增加一个bool属性IsHightLight。-- 显示的内容就是没有通过校验会在右边有个框显示出来。不单是做标记,还可以让依赖属性让自己定义的控件有功能。1、依赖属性驱动触发器Trigger使用。使用的时候就可以用依赖属性设置报错的内容。2、封装自己有校验功能的TextBox。

2024-03-09 21:39:44 571

原创 多层菜单的实现方案(含HierarchicalDataTemplate使用)

- 这里的ItemsSource是集合,使用其它方式绑定上也是一样的;下面是Winform的递归添加菜单栏数据,数据设置好父子id方便递归使用。2、WPF中可以使用HierarchicalDataTemplate非常方便。使用HierarchDataTemplate后可以显示多层的控件都可以使用。在WPF中也是差不多的可以用递归实现加载TreeView。在TreeView的控件窗口加载时,调用递归加载菜单。这个页面的ViewModel,通过递归加载菜单。

2024-03-07 20:41:09 441

原创 ItemTemplateSelector 数据源选择器,控件模板选择器

背景:GridView、ListBox中的数据,如果需要不同的数据显示不同的模板,这个时候适合使用ItemTemplateSelector。1、window.Resources中定义两个数据模板,同一个数据集合,不同的数据使用不同的数据模板。3、在ListView中原本的DataTemplate替换为ItemTemplateSelector。-- 这里使用Student集合,属性有id和name。2、创建一个新的类重写SelectTemplate。在window.Resources中引入该类。

2024-03-07 19:33:33 411

原创 枚举类型绑定ComboBox

2、xaml中的资源中定义ObjectDataProvider。3、样例为DataGirdComboBoxColumn的使用。-- 这里的Status是类中的枚举类型属性。

2024-03-07 00:28:20 391

原创 通过ListView展示集合中的内容

【代码】通过ListView展示集合中的内容。

2024-03-06 20:26:37 321

原创 封装自己的Canvas(左上角显示面板的长宽)

1、创建一个新窗口或页面,要将Title去掉,code_behind分布类中的父类改为Canvas。3、code_behind中实现事件。

2024-03-05 09:16:01 328

原创 设计模式汇总

样例:我有一个stock类 一个messenger类 我希望stock的price属性变化时 messenger能触发alert方法。

2024-02-29 22:48:08 351

原创 SQL Server添加用户登录

- 删除xiaoliu对这个数据库的访问使用drop user 'xiaoliu';-- 如果删除报错:“数据库主体在该数据库中拥有 架构,无法删除”,那就需要删除架构先。但是,这是数据库的权限,表的权限还是没有的,所以点开数据库的表会看到没有表;因为还没有添加表的权限。3、添加数据库的登录用户和密码(这个时候可以登录,但是无法访问具体的数据库)4、添加数据库的访问权限(到可以访问的数据库中添加,或者指定master)5、经过这么操作登录上就可以点击数据库了,并且没有警告,说明添加权限成功。

2024-02-26 09:20:20 700

原创 .net framewoke中实现语言朗读

首先需要添引用System.Speech。

2024-02-22 22:32:03 345

原创 WPF绑定相关

WPF绑定概念基础(四大组成,绑定方向,绑定触发)_wpf调试时修改xmal绑定才生效-CSDN博客https://www.cnblogs.com/pengjinyu/archive/2009/08/19/1549853.html

2024-02-08 21:20:28 362

WPF行为的demoj

WPF行为的demoj

2024-01-22

WPF多值转换器demo

WPF多值转换器demo

2024-01-22

MvvmToolkit的使用

MvvmTookitDemo

2024-01-06

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

TA关注的人

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