自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 WPF中TreeView的拖拽实现

在Treeview中实现Drag和Drop拖拽功能

2023-08-23 14:20:44 669

原创 WPF中手写地图控件(4)——离线地图

通过内存缓存和本地文件缓存技术加载地图

2023-08-23 13:27:07 352 1

原创 WPF中手写地图控件(3)——动态加载地图图片

图片动态加载

2023-08-23 13:26:20 1180

原创 WPF中手写地图控件(2)——区域显示

地图控件上显示区域

2023-08-23 13:24:18 307

原创 WPF中手写地图控件(1)——基于瓦片地图的控件

瓦片地图组成地图控件

2023-08-23 13:23:15 457 2

原创 WPF中自定义Loading图

纯前端方式,通过动画实现Loading样式

2023-08-03 17:53:33 2306

原创 WPF自定义Command

WPF 中的命令是通过实现 ICommand 接口创建的。ICommand 公开了两种方法 Execute 和 CanExecute,以及一个事件 CanExecuteChanged。Execute 执行与该命令关联的操作。CanExecute 确定是否可以在当前命令目标上执行该命令。如果集中管理命令操作的命令管理器检测到命令源中存在一个可能使已引发命令无效但尚未由命令绑定执行的更改,则会引发 CanExecuteChanged。set;set;

2023-06-25 17:59:51 659

原创 WPF中对Halcon的DrawingObject支持

我下载的是Halcon-18.11。首先这是可以参考例程的。例程地址首先定义一个。

2023-06-25 17:47:58 1078

原创 海康相机丢包问题

如果是网口相机,发现丢包问题肯定要先看防火墙是不是关了,以及网络设置是否设置正确,这两个解决方法可以通过查看相机厂商提供的网络问题排查手册解决,如果海康相机在上面的排查手段都做了之后还存在丢包现象,提供一个我个人的解决方法,仅供参考。然后这个解决方法是c#语言的,当然了,对于其他语言也是存在一定意义的。

2022-03-30 19:49:18 5459

原创 c#调用C++的dll报错“外部组件发生异常”

发生原因C++那里void setfile(char** filename)dll函数中有个参数接收char**,内容是文件名的集合,于是我就用了string[]然而传的路径是中文时就会报“外部组件发生异常”错误解决方法原先[DllImport(@"DripDetection", CallingConvention = CallingConvention.Cdecl)]public unsafe static extern void setfile(string[] filepath);

2022-03-07 17:57:00 4771

原创 Android中Gson的使用

Gson在android中的应用什么是Gson下载Json的生成Json的解析什么是GsonGson是一个Java库,可用于将Java对象转换为它们的Json 表示形式。它还可以用于将Json 字符串转换为等效的Java对象。Json 的解析和生成的方式很多,在 Android 平台上最常用的类库有 Gson 和 FastJson 两种,这里要介绍的是 Gson。Gson 的 GitHub 主页点击这里:Gson下载Gradle:dependencies { implementation '

2021-11-15 16:35:51 14459

原创 WPF中的控件不继承DataContext时如何绑定到数据

DataGrid中有个ComboBox他需要个独立的ItemsSource需要绑定,他不是在DataGrid的ItemsSource下的item中的属性,而是与ItemsSource平级的,那么就要独自绑定DataContext。

2021-02-01 18:07:06 398

原创 WPF的打印预览+用户自定义PDF模板的编写(HTML to PDF)

模板编写模板准备使用Antlr3.StringTemplate+HtmlRenderer来实现。接下来实现的是一个下面一个RichTextBox来编辑模板,上面一个HtmlRenderer的HtmlPanel控件来显示模板编辑后的HTML的样式,且每秒刷新一次,然后左边使用固定的包含属性的TreeView,能够将属性格式直接拖到RichTextBox中,方便后台对数据的填充编辑模板界面<Grid> <Grid.ColumnDefinitions> &l

2020-12-17 10:19:30 1626

原创 PDF空模板填充数据+WPF预览PDF

使用一个空的PDF模板然后后台填入数据生成一个PDF文件,且软件可以预览

2020-10-27 16:34:36 899

原创 WPF实现一个图片查看器

我想实现一个图片查看器鼠标滚轮可以放大缩小鼠标左键可以拖动图片鼠标右键定位到当前真实的图片坐标(这是我项目要求)根据参考如何从MouseEvent中获取图像的X和Y点?WPF中获取Image的位置和大小<Grid x:Name="IMG" Background="Black" VerticalAlignment="Center" Grid.Row="0" Grid.Column="0"> <Grid.Resources> <Transf

2020-10-23 18:01:36 1171

原创 WPF DataGrid后台添加绑定

后台直接增加绑定的列,下列使用了Header为1-10的列,绑定也需要key为1-10的各个值for (int i = 0; i <= ColumnMAX; i++) { dataGrid.Columns.Add(new DataGridTextColumn() { Header = i, Binding = new Binding(string.Format("{0}", i)) });}dataGrid.Columns.Add(new DataGridTex

2020-10-14 18:07:17 1550

原创 两个ListBox之间单向拖动

向外拖动的增加一个PreviewMouseLeftButtonDown事件<ListBox ItemTemplate="{DynamicResource HoleListTemplate}" PreviewMouseLeftButtonDown="ListBox_MouseDown" ItemsSource="{Binding PGHoles}"> <ListBox.ItemsPanel> <ItemsPanelTemplate>

2020-10-10 13:58:02 219

原创 更改WPF中UniformGrid的布局排列顺序

更改UniformGrid中的布局排列顺序,可以改成从下到上,或者从右到左

2020-10-10 13:35:34 1738 1

原创 WPF限制textbox的输入,不使用文件非法字符

搜了半天基本都是改KeyDown或者PreviewKeyDown这种事件的形式,还是想弄个MVVM的写法,于是参考的StackOverflowpublic class MyTextBox : TextBox{ //private static readonly Regex regex = new Regex("^[a-zA-Z]+$"); protected override...

2020-04-28 15:40:45 992

原创 自定义dictionary类的序列化

今天遇到一个问题“could not conver string to dictionary key”的错误首先我重写了一个Dictionary,让他继承IDictionary在这里插入代码片然后我发现我的Json文件是“”...

2019-09-10 11:08:00 531

原创 WPF中binding一个dictionary

参考Stack Overflow界面上的绑定必须加上Path=,不加绑定就失败了。其次,我这里是一个key为枚举的字典,因此必须给类型名,且必须写上类的路径。xmlns:MyNameSpace="clr-namespace:MyNameSpace"。这是类与枚举的定义namespace MyNameSpace{ enum MyEnum { first, second } c...

2019-09-03 19:00:24 3331

原创 WPF中TextBox更改完了之后进行操作

WPF中TextBox的Text更改的相关方法有两种,TextChanged和SourceUpdated

2019-08-01 10:54:23 5202 5

原创 TreeView的ContextMenu绑定了Command但是CommandParameter总为null

根据WPF的Treeview子节点绑定,我需要菜单按钮点击之后进入ViewModel而非后台代码,因此我修改了代码。<TreeView x:Name="treeView" ItemsSource="{Binding EcgProjectList}" Cursor="Hand" Background="{DynamicResource ProjectListColor}" BorderThi...

2019-08-01 10:32:18 1006

原创 WPF中Image的图像太平滑,更改为有像素格的那种

Image图拉伸之后发现图太平滑了。我想要的是平常打开图拉伸之后会有一个个明显的像素格那种。根据stackoverflowRenderOptions.SetBitmapScalingMode(imageDisplay, BitmapScalingMode.NearestNeighbor);或者<Image RenderOptions.BitmapScalingMode="Neares...

2019-06-20 16:14:31 697

原创 Vue.js学习笔记

学习过程中发现Elements in iteration expect to have ‘v-bind:key’ directives的报错原因:VSCode中ESLint的功能,对vue进行了ESLint检查。解决方法:File=>Preferences=>Settings,然后在搜索框搜索vetur.validation.template,将vetur.validation....

2019-06-06 18:09:11 201

原创 将Winform移植到.NET Core 3.0

参考将现有应用程序移植到.NET Core 3.0

2019-05-17 15:02:53 11993

原创 Your project is not referencing the ".NETFramework,Version=4.5" framework.

我遇到了Your project is not referencing the “.NETFramework,Version=4.5” framework. Add a reference to “.NETFramework,Version=4.5” in the “frameworks” section of your project.json, and then re-run NuGet r...

2019-05-14 15:01:09 3807 3

原创 Moq的使用方法

我们在做单元测试的时候,常常困扰于数据的持久化问题,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的时候不真正的将数据持久化。这种隔离我们一般使用抽象的方式,也就是利用接口或抽象类将持久化层隔离开,然后利用mock来模拟相应的接口或抽象类来完成相应的持久化类。Moq就是这种Mock框架之一。Moq...

2019-03-12 19:47:38 4201

原创 Installshield的安装包更新了却还是之前的软件

问题:Installshield的安装包,即使把版本号增加了,但是依旧会出现软件打开依旧是老版本的情况,把旧软件删除了就不会出现这个问题,但是在老版本还在的情况下,选择覆盖更新就会还是打开老版本的情况解决方法:将Application File中所有的文件,右键点属性 把Always OverWrite勾上...

2019-03-11 18:55:52 708

原创 选中ListBoxItem中的TextBox,就选中ListBox的SelectedItem

首先先设定Style。其中触发器的Property为UIElement.IsKeyboardFocusWithin&amp;amp;lt;Style TargetType=&amp;quot;{x:Type ListBoxItem}&amp;quot; x:Key=&amp;quot;ListBoxItemStyle&amp;quot;&amp;amp;gt; &amp;amp;lt;Style.Triggers&amp;amp;gt

2019-03-11 18:43:22 1290

原创 设计模式(23)——解释器模式

解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。接下来描述一个将中文数字转化为阿拉伯数字的例子先定义一个抽象表达式public abstract class Expression{ protected Dictionary...

2019-02-20 11:43:04 116

原创 设计模式(22)——备忘录模式

备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。角色发起人角色:记录当前时刻的内部状态,负责创建和恢复备忘录数据。备忘录角色:负责存储发起人对象的内部状态,在进行恢复时提供给发起人需要的状态。管理者角色:负责保存备忘录对象。联系人public class ContactPerson{ public str...

2019-02-20 09:30:45 143

原创 设计模式(21)——访问者模式

abstract class Element{ public abstract void Accpet(IVisitor visitor); public abstract void Print();}// 具体元素Aclass ElementA : Element{ public override void Accpet(IVisitor visitor) ...

2019-02-19 18:08:09 139

原创 设计模式(20)——责任链模式

顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。通过演示一个采购的例子,所有员工低于1000元的都可以通...

2019-02-15 19:01:37 155

原创 设计模式(19)——策略模式

策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。环境角色(Context):持有一个Strategy类的引用,本例中为AlgorithmContext。抽象策略角色(Strategy):这是一个抽象角色,通常由一个接口或抽象类来实现。此角色给出所有具体策略类所需实现的接口,本例中为Algorithm。具体策略角色(Con...

2019-02-15 18:22:31 170

原创 设计模式(18)——状态模式

状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。环境(Context)角色:也称为上下文,它定义了客户感兴趣的接口,维护一个当前状态,并将与状态相关的操作委托给当前状态对象来处理。抽象状态(State)角色:定义一个接口,用以封装环境对象中的特定状态所对应的行为。具体状态(StopState、StartState )角色:实现抽象状态...

2019-02-15 15:48:24 145

原创 设计模式(17)——中介者模式

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。前段时间要租房子,不可避免的要跟中介打交道,不用中介的话,就要直接找一房东,首先不好找房东,一个房东就一个房子,这个不满意就要找下一个房东,麻烦,而且房东找的也不容易,不如全部委托给房产中介,付点中介...

2019-02-14 17:45:47 177

原创 设计模式(16)——观察者模式

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。在现实生活中,处处可见观察者模式,例如,微信中的订阅号,订阅博客和QQ微博中关注好友,这些都属于观察者模式的应用。先定义一个观察者interface Observer{ void Update(string message);...

2019-02-13 18:08:23 148

原创 设计模式(15)——迭代器模式

迭代器模式(Iterator Pattern)是一种非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。一共四个角色迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口具体迭代器角色(MyIteraror):具体迭代器角色实现了迭代器接口,并需要记录遍历中的当前位置。聚合角色(Container):聚合角色负责定义获得迭代器角色的接口具...

2019-02-13 15:18:51 154

原创 设计模式(14)——命令模式

命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。首先先定义一个Command接口interface Command{ void Execute();}再定义几个Command的实现类class Circle : ...

2019-02-13 13:49:34 138

空空如也

空空如也

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

TA关注的人

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