- 博客(194)
- 问答 (1)
- 收藏
- 关注
原创 C#/.NET使用阿里云发送短信
- 如果是没有企业认证,需要在短信控制台主页将测试电话添加到白名单中。中C#的代码搬到自己的编译器,要自己设置的就是三个箭头和红框处。1、备案申请模板、签名(这个挺消耗时间,每一步都要审核)背景:终于要用上短信了,之前见同学写过,现在才动手琢磨。-- 签名有点丑,下次申请一个好看的才行。2、我申请的发送通知模板是这样子的。4、运行就可以接收短息了噢。
2024-10-16 20:27:08 292
原创 github提交下载回来有些文件不见了
解决方法:修改.gitignore文件,将里面的.obj加上#号,就能传上去了。查了一下是有文件缺失了,.obj文件上传的时候没有带上。背景:下载的代码想演示给同学看,跑不了,吓了一跳。
2024-10-08 22:57:11 132
原创 C#串口温度读取
链接:https://pan.baidu.com/s/1Q5DNgR8v1EWzBD1BF5OYMw?然后照着所给说明使用modbus-poll进行调试,可以后就在C#中使用NModbus库来方便读取温度。要安装好虚拟串口和modbus poll,方便调试(相关资源在文末,也可以私信找我要)背景:每天学点,坚持。
2024-10-05 02:37:43 675
原创 wpf加载带材料的3D模型(下载的3D预览一样有纹理)
2、解压可以看到一个model.dae和材料的文件夹,如果只是使用这个3D的结构不需要图片的材料就直接导入blender然后导出.obj就拿去用就行了。但是如果想要在WPF中也加载这些材料出来就需要在导出的时候勾选材料,然后路径选择相对(好像这个相对的没有什么作用)如果是想要跟我图片那样用一个文件夹存材料图片就将.mtl文件对应的两行修改为。如果材料想要放到两个文件的同一个文件夹就将.mtl中的对应的两行改为。3、然后就可以看到导出的内容有文件和一个.obj、一个.mtl。
2024-10-04 02:40:28 377
原创 WPF自适应
还看到有人说要用Margin代替Height、Width,用DockPanle。将原本的Grid换成ViewBox,或者ViewBox包住原本的Grid。
2024-09-28 14:07:58 181
原创 常用幂级数展开
现在用过的就只有1/(2x+1),这个系数有2的,让1/(1+x)的乘于2^n即可。-- 这个怎么那么像泰勒,要复习一下才行。1(x-1)的好像限制有点多了。背景:这个好像之前没有听说过。
2024-07-16 10:38:10 119
原创 软件测试总结
内部逻辑覆盖可以分为:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。白盒测试是结构测试,被测对象是源程序,以程序内部逻辑为基础设置测试用例。软件测试一般要经过四个测试过程:单元测试、集成测试、确认测试、系统测试。分支覆盖(判定覆盖):每个判断的true和false都要来一遍。黑盒测试是功能测试:等价类划分法、边界值法、错误推断、因果图。条件覆盖:每个判断中的条件都要来次真假。集成测试 = 组装测试 =联合测试。判定条件覆盖:上面两个情况都满足。语句覆盖:每行代码都要跑一遍。
2024-06-30 23:42:29 136
原创 EventHandler封装事件
泛型委托对应的事件:public event EventHandler priceChanged;EventHandler委托定义出来的事件,如果委托使用了泛型,那么第二个参数就可以用来传递参数。一般事件:public event EventHandler priceChanged2;背景:委托类型EventHandler使用泛型封装事件。
2024-04-07 20:08:00 322
原创 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 1283
原创 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 263
原创 获取配置文件
背景:在做winform的时候很经常就是将数据库的连接字符串信息保存到配置文件中,今天突然发现asp.net core webapi中的获取方式是很不一样的。这个的是使用最好是自己写一个Configuration类,用于对配置文件的访问。-- 这两个拓展方法使用的NuGet包都是官方提供的。配置文件保存在appsettings.json中。-- 第二个就是我们自己增加的数据库连接字符串。-- 第二个就是我们自己增加的数据库连接字符串。在.net framework中。配置文件在App.config中。
2024-04-04 00:23:08 369
原创 年少不知EFCore好,错把SqlSugar当成宝
背景:依然记得我的第一份WebApi项目使用得是SqlSugar,当时还没有系统学习b/s这边的知识,跟着别人做项目用SqlSugar觉得非常方便,减少了自己手写ADO.Net的痛苦。但是今天发现这个EFCore也是巨好用啊,下面写一下他的简单使用。-- 第一个是对应当前要使用的数据库的,第二个就是EFCore的工具的。-- 继承DbContext,然后数据库实体类写成DbSet。3、创建DbContext。1、安装NuGet包。2、创建数据库实体类。
2024-04-03 23:10:59 1484 2
原创 EFCore的空迁移(EFCore操作已存在的数据库表,不影响其中的数据)
背景:EFCore默认的会自动创建数据表,但是有时又是DBFirst,数据库写好了要用现成的表。这个时候就需要进行一些特殊的操作了。总结:写好对应数据库表对应的实体类,生成的迁移类Up和Down中注释掉创建这个表的代码(欺骗EFCore,让它以为创建好了)3、注释掉新的迁移类中的Up和Down方法里面的内容。1、写出跟要对接数据库的实体类。那么对应的实体类就要对应得上。-- 这个可以让ai写一下。比如我的表是这样创建的。
2024-03-30 16:27:16 407
原创 EFCore多数据库操作实例
直接的Add_Migration他是无法分辨要使用的是哪一个context进行操作的,所以就得指定要迁移的是哪一个。背景:由于两个项目api,懒得重新搭建了,就使用EFCore对两个数据库进行操作。首先碰到的就是迁移问题。
2024-03-30 16:14:09 239
原创 EFCore报错:Could not load assembly ‘MyToDo‘. Ensure it is referenced by the startup project ‘MyToDo.Ap
默认项目改为自己要执行的那个文件。
2024-03-27 00:41:00 650
原创 用户控件窗口如何实现居中弹出呢
用户控件是没有WindowStartupLocation属性可以设置的,这个是窗体才能这样设置;那么弹出的用户控件如何设置居中呢?用上Prism的Dialog.WindowStyle就可以对用户控件的弹窗设置窗体的属性了。-- 最后一条就是,其它的也可以设置。
2024-03-26 13:53:53 359
原创 若依添加页面
views中直接添加income文件夹,里面放着index.vue。背景:我想增加的是一个收支管理的页面。网页的菜单中添加这个页面的菜单。
2024-03-21 22:01:11 385 2
原创 Prism的发布和订阅
我这里的需求是将消息传递给消息队列(起作用的是一个将消息传递给消息队列这么一件事情,所以这里的Subscribe是一个Action;Public发布的只是string类型的消息所以string类型就行了)-- 这里发布和订阅的消息是string类型所以就只用PubSubEvent类。又看了一下它是订阅到一个方法中的,记住就好(理解:发布都是很少东西,订阅就一大堆)-- 只要有消息发布,订阅部分就会响应,除非是取消订阅了。--我这里用的是拓展方法所以用起来也是更加方便。当然该有的发布和订阅类还是要有的。
2024-03-18 01:07:59 565
原创 Prism对话服务
弹窗的窗口ViewModel需要使用IDialogAware;这个接口会带上一个RequestClose的Action,作用就是返回窗体的值。这里的弹窗是窗体来的。
2024-03-18 00:43:59 471
原创 npm run dev报错:> set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service servenode:
执行命令npm run dev没有立刻运行而是显示下面的信息。
2024-03-17 13:13:26 2333
原创 视觉树和逻辑树的区别
可以使用System.Windows.Media中的LoginTreeHelper和VisualTreeHelper对视觉树和逻辑树进行遍历。1、观察可以看到逻辑树其实就是跟xaml的布局结构是一样的(应用程序中所有控件的元素的层次结构)。使用工具snoop可以观察到视觉树(使用:运行软件->将该软件右边的十字架拉到在运行的wpf窗体中)3、视觉树渲染细节:颜色、动画、布局,边框、背景、布局、样式,暴露视觉的实现细节。6、逻辑树注重结构,视觉树包含渲染的所有细节。4、模板内的元素不包含在逻辑树中。
2024-03-14 08:41:24 528
原创 WPF图表库LiveCharts的使用
这个LiveCharts非常考究版本,它有非常多个版本,.net6对应的是LiveChart2。我这里的wpf项目是.net6,所以安装的是这三个,搜索的时候要将按钮“包括愈发行版”打勾。问题就来了,git下载下来却总是编译不成功,不知道为什么,有空再琢磨。
2024-03-13 20:24:03 1058
原创 C#中IEnumerable<string>和IList<string>的区别
总结:IList更加厉害,IEnumerable只能迭代不能改(跟枚举类型enum联系起来)是两种不同的接口,它们具有不同的特性和用途。
2024-03-13 17:32:20 779
原创 WPF使用materialdesign报错:IOException: 找不到资源“themes/materialdesigntheme.defaults.xaml”。
背景:搞了好久,跟着别人装这个md库,找了几份试下来多不行,结果就是查csdn看到有人说是5.0版本在配置上有更新。后面又尝试了其它的.net版本用这个也不行,那就将WiKi上的资源都排列组合一下,直到能用。这个是App.xaml的加载资源。
2024-03-13 15:44:14 1710
原创 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 1195
原创 若依 启动!(手把手配置好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 1176
原创 WPF中的ListBox样式(没被选择有点模糊,选中清晰,鼠标进入变大,移出变小)
【代码】WPF中的ListBox样式(没被选择有点模糊,选中清晰,鼠标进入变大,移出变小)
2024-03-11 21:00:58 634
原创 ListBox显示图片的一些问题
显示图片的方案就是:自定义一个Photo类,里面有属性Source;View再绑定ViewModel中的Photo集合,再到View中给ListView设置数据模板。-- 将这个数据模板放到Window.Resources中也会起作用的,即使ListBox中绑定的是一个Photo类型的集合。如果想要这些图片横向排列,就得设置ItemsPanel。关键点:这样做很容易忘记写数据模板。
2024-03-11 15:37:55 606
原创 WPF资源的继承
这是时候有些控件可能需要一个样式在这个基础上加一点内容的。如果是普通有key的就basedon后面接静态资源就行了。假设这里有一个全局的资源。
2024-03-11 14:53:07 863
txt打不开 淘宝看了5家店都没解决
2021-07-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人