![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
scutrobot
这个作者很懒,什么都没留下…
展开
-
关于WPF界面控件类跨线程的使用WriteableBitmap
WPF在跨线程调用界面控件时,会提示调用线程无法访问此对象,因此需要加上Application.Current.Dispatcher.Invoke(() =>{});但是,比较容易忽略的一点是只要在代码创建了WPF界面相关的类,这个对象不管你有没在界面上使用,它都是没办法跨线程的。例如最近在开发kinect2时,其例程用了大量的WriteableBitmap类,而当我在线程中调用WriteableBitmap类时才发现根本无法访问,必须加上Application.Current.原创 2022-03-20 14:36:40 · 1255 阅读 · 0 评论 -
C# 类继承PropertyChangedBase时序列化返回空值
当一个类继承PropertyChangedBase时,使用JsonConvert.SerializeObject函数对其进行序列化时会返回空值,解决方法是在类前面加入[DataContract],然后在类属性前加入[DataMember],如下所示,加入后使用序列化则不会返回空值参考:实现PropertyChangedBase时c# – caliburn.micro序列化问题 (360doc.com)[DataContract] public class Camera3DPointMode原创 2021-09-23 20:29:39 · 298 阅读 · 0 评论 -
WPF+EF+Mysql(配置篇)
最近在WPF中想使用EF操作数据库Mysql。一直对数据库不是很熟练,简单记录下如何在VS2019中进行配置。0,准备工作安装mysql,安装vs2019....1,在NuGet中安装库文件其中应包括:EntityFramework、MySql.Data和MySql.Data.Entities。在有些文章中写了是安装MySql.Data.Entity,而MySql.Data.Entity目前搜了下,已经找不到了,因此我用了MySql.Data.Entities来代替,版本号和名称如下图所原创 2021-07-28 15:47:35 · 2053 阅读 · 2 评论 -
C# 调用C++dll(以基恩士LKG5000为例)
最近有一个基恩士LKG5000测距仪要用,LKG5000可以用RS232和以太网通信,无奈电器用了网线接口,因此只能用以太网通信了。基恩士提供的以太网通信例程是基于C++的,因此需要用到C#调用C++ DLL的技术。C#调用C++函数需要按如下格式进行声明: [DllImport("LKIF2.dll")] public extern static RC LKIF2_CloseDevice();其中,在调用基恩士C++函数时我碰到了以下几种情况:1,传入参数和返回值均为基本数据类原创 2020-12-30 17:20:20 · 2038 阅读 · 0 评论 -
EF MySQL修改表名后数据迁移出现dbo前缀问题
在使用EF操作MySql数据库时,当对表明进行修改后,发现了一些坑,在此记录一下在上下文类中使用OnModelCreating对类名进行修改 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Blog>().ToTable("Blogstable1"); }从Blogstable修改原创 2020-08-26 08:57:13 · 599 阅读 · 0 评论 -
Halcon C#编程中的内存泄漏
最近在写一个实时检测的小模块,使用vs调试时发现存在各种内存泄漏的问题,因此写下此帖,作为记录,可以防坑1,做一个实时检测的功能,常规做法是先打开相机,然后开线程写一个循环语句,不断读取相机图片,然后检测。对于关闭相机的函数功能,如果直接调用abort函数关闭线程,则有可能导致检测算法中的hobject对象没有被释放,导致内存泄漏...原创 2020-08-10 15:56:53 · 1579 阅读 · 0 评论 -
Caliburn.micro绑定函数
在使用Caliburn.micro框架时我们知道最经典的用法就是你在view里将一个按钮命名为mybutton,然后在model里创建一个mybutton的函数,这样当你点击按钮的时候就可以触发这个函数。那么当我们想绑定其它事件或者甚至想传入一些参数时,这时候该怎么办呢?这时候则可以通过这种写法来实现:cal:Message.Attach="[Event MouseDown]=[Action MouseDown_Event($eventArgs,$source)]"然后model里的函数可原创 2020-05-23 10:35:02 · 647 阅读 · 0 评论 -
WPF 使用caliburn.micro从零开始搭建MVVM框架
最近在学习WPF的MVVM,刚好项目里用到了caliburn.micro,之前是别人在工程里添加了这个框架,我直接使用,但一直不知道怎么重头开始搭建。最近有时间了,上网查了一些资料,新建了一个WPF项目并学习了如何添加caliburn.micro,在这里记录有一下。1,首先使用VS创建一个WPF工程,这里我使用的是VS20192,在Nuget中搜索caliburn.micro,并添加到工程中3,将项目中的mainwindows.xaml删除4,新建一个界面,这里我命名为StartView原创 2020-07-30 10:42:23 · 813 阅读 · 0 评论 -
WPF Cannot find view for ViewModel
在学习WPF MVVM时使用了caliburn.micro框架当我跟着网上的教程在工程中建立了两个文件夹,并将view文件和viewmodel文件分别放在了这两个文件夹中,结果运行时出现了Cannot find view for XXXXViewModel的提示,捣鼓了一段时间后发现是我忽略了一个细节。例如当你在vs中创建了view和ViewModel文件夹时,然后往里面添加文件,这时会默认生成命名空间view和viewModel,在这个命名空间下使用caliburn.micro框架,它是找不到对应原创 2020-05-22 16:05:09 · 891 阅读 · 0 评论