自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yulongguiziyao的专栏

心有多大,天地就有多大

  • 博客(350)
  • 资源 (16)
  • 收藏
  • 关注

原创 Socekt编程中的误区

Socekt编程中的误区误区误区TCP新手误区–心跳的意义TCP新手误区–数据校验的意义TCP新手误区–粘包的处理

2020-10-14 16:23:24 224

原创 WPF揭密之WPF 样式、模版、皮肤、主题

样式(Style):对属性分组,否则这些属性就要单独设置。样式存在的目的是在多个元素中共享该组的值。一个Style可以通过BasedOn属性从另一个属性继承。触发器:属性触发器:当依赖属性的值发生改变时调用。数据触发器:当普通.Net属性值改变时调用。事件触发器:当路由事件被触发时调用。FrameworkElement、Style、DataTemplate、ControlTemp...

2019-12-27 09:53:46 2850

原创 收集Async/Await文章

https://www.cnblogs.com/CreateMyself/p/5983208.htmlhttps://www.cnblogs.com/xboo/p/11211549.html

2019-12-21 17:39:57 284

原创 WPF DataGrid设置RowDetails时候主表和详细表列宽保持相同的一种实现方法

有时候使用datagrid的列表展示数据的时候 ,为了显示数据的历史变迁,可以在RowDetails中设置和主表列相同的一个DataGrid,但是为了美观的话,要让主表和详细表列保持相同宽度,并不能简单的使用绑定的方式实现,因为DataGrid中的类不在视觉书上,具体原因可以参考我的另一篇文章:WPF MVVM绑定DataGrid的列的显隐性解决方案。下面直接上代码:首先要有一个类似代理的东西:...

2019-10-16 15:49:42 972

原创 WPF数据校验的一种实现方式

总所周知,WPF提供了多种数据校验的方式,但是在实际应用中并不是那么得心应手,每种验证都有自己的缺点。ValidationRule 验证比较繁琐,Exception 验证需要书写的逻辑比较多,IDataErrorInfo 验证初始化的时候即进行验证,然后如果是需要确定的界面,确定的时候还是需要一次校验。以前的时候都是放弃了校验,依旧采取以前的确认的时候判断每个需要校验的属性,然后提示。最近在新做一...

2019-06-12 11:13:06 1818 1

原创 查询数据库表中的30到40条数据(id不连续)

以下假设表名为A一、SQL Server解法一:select top 10 * from A where ID not in (select top 30 ID from A)解法二:select top 10 * from (select top 40 ID from A order by ID) as a order by a.ID desc解法三:select * from(s...

2019-04-13 12:03:27 3881

原创 C# 接口和抽象类的共同点和区别

相同点:(1) 都可以被继承,且都能多继承接口(2) 都不能被实例化(3) 都可以包含方法声明(4) 派生类必须实现未实现的方法区 别:(1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。(2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。”(3...

2019-04-08 17:38:14 907

原创 C# 静态常量和动态常量的区别

C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景。工作原理readonly为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,因此也有人称其为只读变量。const为编译时常量,程序编译时将对常量值进行解析,并将所有常量引用替换为相应值。声明及初始化readonly常量只能声明为类字段,支持实...

2019-04-08 17:23:18 369

原创 数据库索引

面试时遇到面试官问了一个问题让说一下索引的原理,但是作者对索引的了解仅仅是“加索引之后查询快”,一阵懵和尴尬之后回来查询了一下索引相关的知识点,记录一下。一、为什么要给表加上主键?更快的查询数据二、为什么加索引后会使查询变快?索引的建立使用的是平衡树(b tree)数据结构,查询的时候时间复杂度从O(n)降至O(log)三、为什么加索引后会使写入、修改、删除变慢?为了保证索引的正确,修...

2019-04-06 09:49:41 170

原创 TCP和UDP及它们的区别

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于广播和细节控制交给应用的通信传输UDP(User Datagram Protocol)UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。 即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。此...

2019-04-06 08:23:10 1709

原创 mvvm和mvc的区别

1、Mvvm定义MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的...

2019-04-05 17:10:48 340

原创 说一下重写和重载

方法重载(overload)是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同。方法重写(override)是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型 ,是多态的体现形式。...

2019-04-05 16:19:30 238

原创 C# 装箱和拆箱,以及使用场景

一、简述装箱是将值类型转换成引用类型。拆箱是将引用类型转换成值类型,只有装箱过的对象才能拆箱。二、装箱和拆箱的内部操作是什么样的?.NET中,数据类型划分为值类型和引用(不等同于C++的指针)类型,与此对应,内存分配被分成了两种方式,一为栈,二为堆,注意:是托管堆。值类型只会在栈中分配。 引用类型分配内存与托管堆。(托管堆对应于垃圾回收。)装箱:对值类型在堆中分配一个对象实例,并将该...

2019-04-05 16:08:11 6310

原创 C# 多线程

编程过程中有时候会遇到比较耗时的操作,例如网络请求、文件操作,这个时候为了程序的性能考虑就需要多线程来处理,这里介绍几种多线程的方法。1、异步委托创建线程的一种简单方式是定义一个委托,并异步调用它。委托使用线程池完成异步任务。Delegate类提供了BeginInvoke()方法。2、Thread类3、线程池(ThreadPool)4、Task...

2019-04-05 10:47:43 220

原创 说一下锁,以及对锁的优化

说到锁,就要说到多线程。多线程中有争用条件的时候就需要用到锁来做同步。C#中多线程同步提供如下技术:1、lock语句2、interlocked类3、Monitor类4、SpinLock结构5、WaitHandle类6、Mutex类7、Semaphore类8、EventL类9、ReaderWriterLockSlim类lock语句、 interlocked类和 Monitor类...

2019-04-04 16:22:19 435

原创 接口和类的区别

不同点:接口不能直接实例化。接口不包含方法的实现。接口可以多继承,类只能单继承。类定义可以在不同的源文件之间进行拆分。相同点:接口、类和结构都可以从多个接口继承。接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。接口和类都可以包含事件、索引器、属性。...

2019-04-04 14:28:16 10008 3

原创 值类型和引用类型的区别

一、简述值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。值类型(value type):byte、short、int、long、float、double、decimal、char、bool 、 struct、enum 统称为值类型。值类型变量声明后,不管是否已经赋值,编译器为其分配内存。引用类型(reference type):string 、 class统...

2019-04-04 11:35:15 3282

原创 C#面试记录

最近面试过程中遇到的一些面试题在此做一个记录。1、说一下值类型和引用类型。2、接口和类的区别。3、说一下锁,以及对锁的优化。4、多线程5、使用过什么消息队列,各有什么特点。6、是否使用过Redis。7、是否了解微服务。实际操作题:1、获取某个城市的实时温度。...

2019-04-04 10:22:56 517

原创 C# xml序列化的时候集合节点 水平结构的xml节点实现

有时候序列化或者反序列化的时候对于集合或者数组类型的属性可以使用XmlArrayAttribute和XmlArrayItemAttribute特性来进行生成节点,但是结构是…形式,如果想要实现…形式应该如何呢?答案是使用XmlElementAttribute特性,但是需要设置一下属性 IsNullable = false,[XmlElementAttribute(“Area”, IsNullabl...

2018-11-12 10:33:15 629

原创 ffmpeg进行wav和amr进行转换时路径空格问题解决方案

项目中需要音频文件的转换,使用了ffmpeg进行转换,使用的方式是Process启动ffmpeg.exe,并将如下命令作为参数传进去:(此方法可百度搜索一下)“”" + " -y -i " + srcFilePath + " -ar 8000 -ab 12.2k -ac 1 " + destFileName + “”";在本地调试运行没有问题,使用安装包在客户的电脑安装之后,程序不能得到预期效...

2018-09-18 11:30:00 1938

原创 Process.Start 方法 (String, String)参数本身带有空格的解决方法

项目中自动更新的时候,需要启动一个单独的更新的组件,使用的是Process.Start 方法,开始的时候测试没有问题,安装客户机的时候,启动的时候程序出错。调试之后发现安装的是“C:\Program Files****”,Program Files中间的空格被认为成了参数的分隔符。经网上查找找到解决方案如下: 将路径外面添加上引号,并且使用大括号括起来。 string arg = string...

2018-07-10 20:53:42 1035

原创 关于WPF中Popup控件在Win7以及Win10中的对齐点方式不一样的解决方案

最近项目中使用弹出控件Popup,没有注意弹出的对齐方式在不同的系统中的不同,导致部署到不同机器上的时候弹出位置不正确(开发使用的Win10机器,安装运行是在Win7,Popup在win10上是弹出在左边,Win7上是弹出在右边)。现在记录解决方案于此: 修改弹出菜单相对于相应菜单项是左对齐还是右对齐 public static void FixPopupBug() { var i...

2018-06-21 14:16:03 659

原创 WPF中使用WebBrowser弹窗被禁止的解决方案

打开IE-》工具-》internet选项-》隐私-》去掉勾选“启用弹出窗口阻止程序”,如果有需要还可以通过旁边的设置按钮,设置弹出的级别。

2018-05-17 15:30:17 1469

原创 WPF布局系统Grid中Margin和对其方式组合效果

我们都知道,在WPF布局系统中控件分配的空间是一个矩形空间,根据影响布局的属性Margin、VerticalAlignment、HorizontalAlignment、Padding等,父级容器会分配给子控件一个空间(元素边界框,可以使用LayoutInformation.GetLayoutSlot(element)获取),然后将子控件填充在其中。今天在项目中碰到一个计算偏移量的问题,一直没有计算

2018-02-06 17:13:16 2688

原创 VS反编译文件调试断点无法设置

今天反编译了一个Blend的dll,运行之后断点调试,提示无法设置断点 然后查看了一下程序集信息发现调试信息被设置了不是冲pdb里面调试,删除之后就可以了。 编译器调试模式 https://msdn.microsoft.com/zh-cn/library/system.diagnostics.debuggableattribute.debuggingmodes(v=vs.110).a

2018-02-02 11:04:52 1302

原创 WPF Arcgis 开发实现带有图片和标题的渲染图标

WPF开发Arcgis的时候如果在地图上添加点图标是很容易实现的,自定义一下Symbol的模板即可实现。但是如果模板中标题文字不固定的时候,点图标没法做偏移(点图标在地图上锚定的时候是以左上角的点位锚定点,如果图标的下部中点和锚点重合就没有这个问题),这样会造成放大和缩小地图的时候点图标乱动的效果。线面介绍一种做偏移的方法,基本思路是使用3个俯角属性绑定模板中控件的实际宽高及模板数据源Symbol

2018-01-24 10:27:05 775

原创 WPF开发ArcGIS时候,Graphic模板中不能使用ViewBox控件的原因说明

今天在项目中遇到一个问题,触摸屏点击图层上的Graphic的时候使用GraphicsLayer.FindGraphicsInHostCoordinates(Point)方法不能取到对应的Graphic,经过和其他能点击到的模板对比发现改模板是放在一个ViewBox里面(大概原来编写代码的同学是想要Graphic随着分辨率大小变化吧,我们的程序要适配2k和4k两种屏幕),感到不解,所有反编译了源代码看

2017-11-23 18:34:38 375

原创 WPF中Treeview使用HierarchicalDataTemplate模板之后内容不充满

WPF中Treeview使用HierarchicalDataTemplate模板之后内容不充满 ,即使使用了自适应布局控件,例如grid也不行,后来设置了Treeview的 HorizontalContentAlignment=”Stretch”布局达到了想要的效果。

2017-08-30 18:13:38 2391 2

原创 模板内部含有ScrollViewer控件强制刷新界面不起作用解决方案

有时候会遇到模板内部含有ScrollViewer控件的控件强制刷新界面不起作用(包括使用InvalidateMeasure和InvalidateVisual都不行),以前是使用width+1解决,现在发现一个可能的解决方案。使用流文档容器FlowDocumentScrollViewer为例: 1、首先取得ScrollViewer控件。 ScrollViewer scroll = (ScrollV

2016-12-29 17:01:09 1013

转载 WPF TreeView如何展开到某个节点

初用WPF的TreeView控件,需要将树展开到某个特定的TreeViewItem,各种方法都尝试过,却发现代码总在某些情况下出错,然后仔细研究,才发现其中的曲折。  解决问题的思路是,得到从树的根节点到特定节点的路线,并打开所有父节点。但是曲折的地方就是如何得到下一级的子节点,也就是如何从Items集合中取得对应的TreeViewItem并set IsExpanded = true。  TreeV

2016-12-05 15:05:26 5253

原创 VS2013编译生成的程序如何设置以管理员权限运行

有时候由于程序中某些功能的需要(例如修改注册表),程序需要以管理员身份运行。VS2013(其他版本的也可以,此处只描述2013的设置方式)中提供了比较方便的设置方式。设置如下: 1、 打开VS2013工程,右击工程在菜单中选择“属性”,出现界面如下图: 点击“安全性标签”,将“启用ClickOnce安全设置”勾选上,此时会在Properties下面会生成一个文件“app.manifest”。

2016-08-09 17:28:09 11104

转载 WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法

转载自:http://www.cnblogs.com/xh831213/archive/2010/03/29/1699587.html 在WPF的TextBox的LostFocus事件中直接使用Focus()方法会出现死循环的问题正确的使用方式有2中方法:方法一:复制代码 private void textBox3_LostFocus(object sender, RoutedE

2016-07-19 13:49:10 2538

原创 反射实现深拷贝

源代码引用自:http://www.tuicool.com/articles/beu2InZ,做了一些修改,反射的时候直接取字段中,不取属性值,因为属性最终是暴漏的字段值。修改后的代码支持泛型。源代码泛型报错。 public static T DeepCopyWithReflection(T obj) { Type type = obj.GetType(

2016-07-13 09:55:09 1144

转载 C# 程序员最常犯的 10 个错误

关于C#  C#是达成微软公共语言运行库(CLR)的少数语言中的一种。达成CLR的语言可以受益于其带来的特性,如跨语言集成、异常处理、安全性增强、部件组合的简易模型以及调试和分析服务。作为现代的CLR语言,C#是应用最为广泛的,其应用场景针对Windows桌面、移动手机以及服务器环境等复杂、专业的开发项目。  C#是种面向对象的强类型语言。C#在编译和运行时都有的强类型检查,使在大多数典型的编程错误

2016-06-17 10:37:50 374

原创 WPF 绑定中的TargetNullValue

TargetNullValue是指当数据源中的值为空时,界面显示什么值。 例: Text=”{Binding Discription, TargetNullValue=[Age Unknown]}”意思就是如果Discription为空,绑定的目标属性就显示[Age Unknown]。

2016-04-10 09:46:47 1771

原创 WPF主题样式和应用程序样式

样式的一些记录。

2016-04-06 21:43:48 1347

原创 TemplateBinding 注意事项

TemplateBinding是连接控件和模板中属性的一种绑定,从自定义控件的属性中提取属数据。 优点:轻量,开销比较小。 缺点:只能单向绑定,不能绑定到继承Freezable的类上。

2016-04-06 21:04:40 1369

转载 StackOverflow程序员推荐:每个程序员都应读的30本书

转自:http://www.kuqin.com/shuping/20111225/316679.html“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前

2015-12-24 09:10:56 382

转载 细数改善WPF应用程序性能的10大方法

WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系,越高档的机器性能越有优势。  程序性能改善不是一蹴而就的,好的设计可以消除影响性能的问题,例如,在运行时构造对象就会对程序的性能造成影响。虽然WPF通过增强的导航等功能提供了更丰富的用户

2015-12-23 17:55:30 3094

原创 xp 虚拟机运行WPF程序的时候,有部分控件透明

xp 虚拟机运行WPF程序的时候,有部分控件透明,在这儿有一个可能的解决方案:关闭系统的硬件加速(如何关闭请自行百度)。

2015-12-23 17:04:02 2088

DataGridDemo.rar

WPF DataGrid设置RowDetails时候主表和详细表列宽保持相同的一种实现方法

2019-10-16

LocBaml.rar

WPF本地化的时候使用的工具LocBaml,找了好久才找到(下载的实例代码不能生成),希望对大家有帮助。

2019-05-28

SQLite +ODBC驱动 64bit

SQLite +ODBC驱动 64bit 操作请参考https://www.cnblogs.com/xcsn/p/6050878.html

2018-02-03

图片平移、旋转和缩放

根据控件的RenderTransform属性做的图片平移、旋转和缩放,基本都满足

2015-11-17

一个TextBox伪装的可以复制的TextBlock

一个TextBox伪装的可以复制的TextBlock,可以复制其中的文字

2015-09-10

WPF 输入数字和小数点的文本框

WPF 输入数字和小数点的文本框,支持输入0-9的数字,小数点和删除键,其他的键都被禁止输入

2015-05-31

带提示消息的TextBox和PasswordBox

带提示消息的TextBox和PasswordBox 文本框 密码框 ,例如登录的时候,提示请输入密码或者请输入登录名之类的

2015-01-12

13 1 X最新汉化zh CN 1016

13.1.x汉化包,按照网上资源包汉化的方式操作就可以了。

2014-06-16

wpf经典教程---大胡子.pdf

Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。 使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。这个文档可以作为基础和速成法看看,但是我更推荐《深入浅出wpf》,不过文件太大,不好传。

2014-05-04

Effective java

Effective java,想要学习java,以及java使用者们,你们懂得!

2013-11-09

C#事件和委托

学习C#,事件和委托是绕不开的,本文详细讲述了事件和委托的关系,并有例子帮助理解

2013-11-09

ArcEngine_开发接口集

AE接口,让GIS开发更好理解,初学者可以相应看看

2013-11-09

ArcGIS_Engine_10_开发手册

AE开发,有志于学习GIS的可以作为入门看看。

2013-11-07

GIS应用开发技术

讲解了一些GIS开发的对象,个人认为还是值得一看的。

2013-09-21

C#制作印章

vs2005的环境,可以将你想要的印章显示出来,可以看看。

2013-08-29

空空如也

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

TA关注的人

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