自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 WPF中在MVVM模式下,前端控件怎么绑定静态类中的变量

通常我们知道在MVVM模式中,一个页面绑定一个ViewModel中的值,但在有些情况下这个ViewModel中的值是全局通用的,需要在任何时候都能修改它,所以我们的前端页面需要绑定它的静态变量。_inst是我声明的静态类,然后声明一个普通的statePanelVM,返回静态类,用于前端绑定。然后按照正常流程在xaml后台设置datacontext。以上就是绑定静态类的成员变量的全部过程。

2024-08-27 09:48:54 253

原创 WPF日志Log4net的使用总结

至此,每当调用operationLog.Info("");时,都会把日志写入日志文件。3.在properties中的AssemblyInfo文件内添加下列代码。1.去nuget搜索Log4net并安装。2.在app.config中添加配置文件。4.初始化并使用日志记录。

2024-08-21 09:59:42 333

原创 C#串口通讯简单示例

注意:如果电脑上没有COM口,可以用Configure Virtual Serial Port Driver找个软件模拟出COM口,当我打开COM1口,没有打开COM2口时会出现下图的效果。百度上传播比较广的那个示例代码一堆错误,我这里改了一下可以用了,特此记录。完整代码如下,记得把按钮click事件对应一下。实现效果:两个窗口之间可以互相发送数据。

2024-07-25 16:54:51 179

原创 C#Winform实现带指示灯的按钮button

(4)这个时候重新生成一下解决方案,自定义的Light按钮就出现在工具箱了,然后把它拖到我们想要使用的地方(例如form1界面),点击按钮以后就可以切换颜色了。(1)新建一个用户控件light,拖拽一个button到用户控件上并填充满整个界面。为了在winform中实现一个带指示灯的button按钮,每点击一次改变一下颜色,以表示按钮状态,类似如下图所示效果。然后在light的事件列表中就可以看到CustomControlClicked事件了,直接可以双击进入。

2024-01-19 17:53:23 1845

原创 在QT中如何使用Class声明类

2.在A.h文件中声明class B (注意在写B的时候可能不会自动提示,大胆往上写就是了),并且在A.h中定义B类对象作为A的成员变量:B *m_B;"class 类名" 只是声明存在这么一个类,但是通过这个声明无法得到任何关于此类的具体信息,这样你可以在其他使用到的地方声明一个该类型的指针。这种方式可以避免当类A和类B互相调用时候产生死循环,并节约编译时间,因为A的头文件中只是使用了B的指针对象,此时并不需要展开类B。1.在A.cpp文件中用include包含B.h:include "B.h"

2023-08-21 17:22:05 649

原创 QtCreator像在VS中的C# region一样折叠代码

这样在QtCreator可以实现代码折叠。就可以在VS中实现代码折叠了。

2023-08-17 16:30:44 484 2

原创 从github上下载下来的c++代码用vs或QTCreator运行起来(Cmake)

初学C++,从github上下载了一份源码,不知道怎么运行,特此来记录一下。(2)打开cmd,进入到你下载的这个源码的路径(CMakeLists.txt文件所在的路径),运行以下三行代码mkdir build //创建build文件夹cd build //进入build文件夹cmake .. //执行build 注意这里的..不是省略号,命令就是cmake ..

2023-08-10 17:15:48 5489 1

原创 QT新增资源文件时报错

发现如果资源文件起名为Resource就会报上述错误,换个名字就好了。原理我具体也不清楚,可能是跟系统自动生成的文件重名了吧。

2023-08-08 16:33:52 389

原创 记录QTCreator如何更换套件(Kit),切换QT不同版本

2.打开QTCreator(我的是11.0),依次点击 工具-外部-配置 进入配置界面(QTCreator不同版本可能不一样,比如QTCreator5.0,就是依次点击工具-选项。反正就是进入这个配置界面就行),然后安装图中箭头指示操作。电脑上原来的版本是QT6.2,但是有一个新的项目需要QT5.15,所以在此记录一下如何在QTCreator中更换这个套件。3.进入构建套件(kit)界面,点击添加,然后参考图中填写。记得把新下载的QT路径添加到系统环境变量中。(2)安装图中填写信息,然后点击确定即可。

2023-08-08 09:36:46 6543 2

原创 QTCreator报错:sub-src-SARibbonBar-qmake_all Error -1073741819

详细错误:cd src\SARibbonBar\ && D:\QT\6.4.2\mingw_64\bin\qmake.exe -o Makefile D:\DownLoad\SARibbon-master\src\SARibbonBar\SARibbonBar.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"从gitbub上下载了一个ribbon的源码编译时报错。

2023-08-05 15:10:30 496 1

原创 WPF在自定义的Template里面绑定值的写法

我在其后台代码定义了IScheck属性想帮到前端的样式里面,需要添加RelativeSource={RelativeSource Self} 这一段话。假设我有一个usercontrol用户控件,我在用户控件内定义其template。

2023-06-09 14:26:14 394

原创 解决WPF的datagrid设置可以多选后,SelectedItem显示为第一个选中的值,而不是当前选中值

当我选中多条时,在点击某一行的编辑按钮,传出的值是选中的第一行,而不是当前点击编辑的那一行。解决方法是修改传出的参数,不传SelectedItem,而是Datacontext。

2023-06-07 11:26:17 1051 1

原创 XML文件反序列化为List<>的一个注意事项

即一个根节点HsList包含多个Hs节点,在将这个文件序列号为List<Hs>时,会出现识别不了根节点HsList的情况,此时要给XmlSerializer加一个new XmlRootAttribute("HsList")参数。

2023-06-06 17:16:50 301

原创 WPF中datagrid如何在第一列添加勾选框

主要使用的是DataGridCheckBoxColumn,能够自动为所有行添加勾选框,随后我们在设置勾选框的绑定Binding="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}" 即可。

2023-05-29 18:25:03 2457 2

原创 为WPF资源文件中的按钮中绑定命令

在上面的例子中,我定义了一个静态的RoutedCommand对象MyCommand,并在MainWindow的构造函数中为它添加了一个CommandBinding,指定了它的CanExecute和Executed事件的处理程序。在MyCommand_CanExecute方法中,设置了命令可以执行的条件为true,在MyCommand_Executed方法中,展示了一个简单的消息框。这样,当我们在WPF资源文件中定义的按钮被点击时,就会触发MyCommand_Executed方法,展示出消息框。

2023-05-04 17:35:28 766

原创 WPF在MVVM模式下弹出对话框

在需要弹出对话框的ViewModel中引用IDialogService接口。在DialogService.cs中定义需要在对话框中显示的属性和命令,并在打开对话框时执行需要的操作。请确保在依赖注入容器中注册IDialogService并将其注入到需要弹出对话框的ViewModel中,否则无法完整运行。在WPF中使用MVVM模式,弹出提示框的一种常见方法是利用对话框(Dialog)来实现。以上只是一个简单的示例。实际上可以设计一个更完整的接口,以提供满足应用程序需求的所有相关对话框行为。

2023-04-21 17:24:04 2284

原创 C#中Type.GetType(TechnologyPanel.Technology)获取不到类型,返回Null问题

3.如果指定的类型不在当前程序集中,可以使用Assembly.LoadFile()或Assembly.Load()加载所在的程序集,并使用Assembly.GetTypes()获取程序集中的所有类型,然后遍历查找指定的类型名。(重点注意:我们在VS的解决方案管理器看到的名字不一定是它的实际类型名,所以用这个代码检查一下类型名是否正确是必要的)3.指定的类型不在当前运行的程序集中。1.检查类型名拼写是否正确。1.指定的类型名不存在。2.类型名拼写不正确。

2023-04-21 15:40:27 1063

原创 WPF绑定中的OneWay和TwoWay区别和适用场景

使用twoway方式绑定以后,如果手动更改textbox的值,此时如果通过按钮事件来查看滚动条的value值,就会发现和textbox是一致。default方式,这个方式完全就是根据控件的属性来设置的。就是文本框更改的时候会改变源的属性。oneway方式,就是滚动条改变的时候会改变文本框的显示值,但是文本框更改的时候不会更改滚动条的值。无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。onetime方法,会发现文本框的值会是滚动条的初始值。进行更改时更新目标属性。

2023-04-19 13:54:33 1253

原创 强制转换报错:System.InvalidCastException:“无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转换为类

在用DataGrid向后端传选中的值并把它转换为我自定义的类时出错。报错为System.InvalidCastException:“无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转换为类型“Model.Persons”。错误的原因是我向后端传的是SelectedItems,这是一个IList类型的值,当然强转会失败,换成SelectedItem就成功了。

2023-04-13 19:05:19 1580

原创 给WPF的DataGrid添加行号的方法(在XAML中添加,不是添加到行最前面那种)

给WPF的Datagrid添加行号

2023-04-12 19:11:16 1697

原创 打开别人的QT项目后,全是报错

no valid settings file could be found错误和Error while building/deploying project My_TemAndHumCollection (kit: Desktop Qt 5.15.2 MSVC2019 32bit)When executing step "qmake"错误。不易发现的出错原因。

2023-02-11 18:34:52 4219 1

原创 sqlserver插入数据时如何忽略主键重复的数据

sqlserver插入数据时忽略重复主键

2022-05-25 14:36:50 5982

原创 SQL server Select嵌套Select注意事项

这里用select 查询一个用select的查询结果作为结果集 的sql语句会报错原因是这个select查询结果集用as起一个别名是必要的。

2022-05-19 17:10:18 2681

原创 Navicat连接Linux服务器新建不了SqlServer数据库问题(出现文件激活错误)

刚在虚拟机上搭建的一个Linux服务器,在用Navicat连接服务器的SqlServer数据库以后新建数据库时发生报错。(如下图)在网上查了一下方法,都不太管用。最终解决方法:使用SqlServer management studio连接就可以新建数据库了。...

2022-04-08 15:47:28 2595

原创 VMvare安装centOS服务器连接不上网的问题

一开始是按照NAT模式来设置服务器网络,用尽了网上的所有方法好像都没用(包括设置静态ip,网关,DNS,开启VMware network service服务,添加网关地址等等)。后来看到一个文章说如果宿主机是笔记本而且用的无线网卡上网的话,最好用桥接模式。于是将虚拟机改成桥接模式,并将虚拟网络设置为笔记本对应的网卡。(如下图)但是还是不能连接上网。。。于是我把虚拟机重装了系统,并且重复了桥接的步骤,然后将有线连接打开。再次ping百度地址,居然奇迹的ping通了。而且宿...

2022-04-08 13:50:44 941

原创 VS从远程仓库克隆项目后,所有引用失效的解决办法

从远程仓库克隆一个新项目,一打开发现所有引用都有感叹句,也就是引用失效,从网上找了好几种方法,最后成功解决。解决方法:用文本方式打开项目文件中后缀为csproj的文件,把<Target>结点的内容全部清空,然后保存文件,重新编译项目即可。 另外:记一个小知识点,如果克隆项目后,发现没有解决方案(.sln)这个文件,生成这个文件的方法是把后缀为csproj的文件用VS打开,然后点击编译或者保存,VS就会提示让你另存为一个文件,这个文件就是.sln文件,把这个文件保存到项目..

2022-01-12 16:33:27 1711

原创 VS·卸载进程卡死“正在配置您的系统,这可能需要一些时间“

VS·卸载进程卡死"正在配置您的系统,这可能需要一些时间"

2022-01-10 11:29:41 1846 2

C#Winform实现带指示灯的按钮button

C#Winform实现带指示灯的按钮button,代码简单易懂

2024-01-19

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

TA关注的人

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