自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

catshitone的专栏

师夷长技以自强

  • 博客(195)
  • 资源 (24)
  • 收藏
  • 关注

原创 《Enterprise Application Pattern—using Xamarin.Forms》中文简述四——模块间通讯

Communicating between loosely coupled components:松耦合模块间的通讯发布-订阅是一种消息模型,它允许发布者发送一些消息而不用考虑具体的接收者(订阅者)。同样,订阅者监听特定的消息而不需考虑发送者是谁。在.NET中事件(Events)是一种最简单且直接的发布-订阅模型,但是发布者和订阅者是彼此耦合在一次的,相互之间有引用。这样就是导致内存管理问题,...

2019-03-09 10:52:48 362

原创 《Enterprise Application Pattern—using Xamarin.Forms》中文简述三——依赖注入

第三章 Dependency injection实例化一个类的时候,它的构造函数会被调用,构造的时候我们有可能会传入参数。这就是一个简单的Dependency injection(DI)的例子,这种被称为constructor injection,即构造时注入。除了这种构造方式之外,还有property injection和method call injection,不过这两种不太常见。如果我...

2019-03-08 21:05:14 542

原创 【C#】在.net framework的控制台程序中使用HttpClientFactory

一般来说我们发送Web请求的时候,都是通过HttpClient。但是使用的时候会有两个问题:因为HttpClient实现了IDisposable接口,每次使用如果都new一个对象的话,最后会耗尽你的主机端口。微软建议使用单例模式。如果使用单例模式的话,端口是节省了,但是请求地址的DNS如果改变了的话,这个单例并不知道。为了解决上面的两个问题,社区就出现了HttpClientFactory...

2019-02-25 19:15:14 6842 2

转载 【C#】winform自定义控件在工具箱中显示和属性在属性面板中显示

在开发自定义控件件时,有好些Design属性是要使用的,如ToolboxItem, ToolboxBitmap, Category, Description等等,不知道这些属性其实也可以将控件搞出来,不过,知道了,会令事件更加简单,令控件更加专业和实用。有时,不知道用法,会令到项目的其他同事好烦,因为这个控件是你提供的。下面对一些常用的Design属性做一个简单的生产介绍。ToolboxIte...

2019-02-12 17:35:07 11930 2

原创 Docker常用操作

Docker入门1.Docker简介A. 题外话--运输业货运方式B. 什么是Docker2. 开始A. 基本概念B. 安装DockerC. 镜像(Image)操作D.容器(Container)操作3.创建镜像A. 基于容器创建B.使用Dockfile创建1.Docker简介A. 题外话–运输业货运方式集装箱▼集装箱被发明之前▼两种货运方式的对比:–散货运输集装箱运输...

2018-10-18 11:11:15 469

原创 【.NET Core】在树莓派Raspberry Pi 3b+上运行.net core 2.1程序

前言最近想做个私有NAS,所以入手了一块树莓派 3b+,刷了openmediavault系统。系统是基于linux的,然后寻思着看树莓派能不能运行下.netcore程序。经过一阵搜索,发现其实步骤还是挺简单的。总结下就是:在你的树莓派上安装linux系统。现在支持arm32的linux系统我知道的有Debian和Ubuntu。openmediavalut和树莓派官方的Raspbian...

2018-08-26 20:36:11 9417 3

原创 【VisualStudio】常用快捷键

编辑.在文件中查找(全局搜索) Ctrl+Shift+F 视图.快速操作和重构(智能提示) Ctrl+. 格式化代码 Ctrl+K+D

2018-08-08 20:29:02 656 2

原创 【C#】winform多语言方案

1.CultureInfo的获取和设置CultureInfo通常由两位小写的LanguageCode+两位大写的Country/RegionCode组成,如:zh-CN,zh-TW,jr-JP,en-US,zh-HK。部分地区由languageCode+sripttag+country/regioncode,如zh-Hans-HK(香港简体中文)。 几个有用的属性:CultureInf...

2018-06-04 14:25:11 12622 2

原创 【C#】使用ADO.NET/Dapper访问Sqlite数据库,SqliteHelper帮助类

这个就比较简单了,用过sqlserver的人都知道访问数据库的时候一般都会有个SqlHelper的帮助类,这里就依葫芦画瓢写了个SqliteHelper,很简单:using System;using System.Collections.Generic;using System.Data;using System.Data.SQLite;using System.IO;using...

2018-05-15 16:20:30 7994 1

原创 【C#】使用EF访问Sqlite数据库

1. 先上nuget下载对应的包 如图,搜索System.Data.SQLite下载安装即可,下载完之后带上依赖一共有这么几个:EntityFramework System.Data.SQLite System.Data.SQLite.Core System.Data.SQLite.EF6System.Data.SQLite.Linq安装完成后,会添加App.c...

2018-05-15 11:28:15 20730 3

原创 【VS】使用vs2017自带的诊断工具(Diagnostic Tools)诊断程序的内存问题

前言一般来说.NET程序员是不用担心内存分配释放问题的,因为有垃圾收集器(GC)会自动帮你处理。但是GC只能收集那些不再使用的内存(根据对象是否被其它活动的对象所引用)来确定。所以如果代码编写不当的话,仍然会出现内存泄漏的问题,常见的情况有:一个静态变量引用了一个应该被释放的对象,事件注册后不解除注册,非托管资源使用后没有手动释放。不断的内存泄漏终会引起内存不足,挂掉你的程序。对于这种内存

2018-01-08 16:02:37 38852 4

原创 【WPF】UI虚拟化之------自定义VirtualizingWrapPanel

前言前几天QA报了一个关于OOM的bug,在排查的过程中发现,ListBox控件中被塞入了过多的Item,而ListBox又定义了两种样式的ItemsPanelTemplate。一种用的是虚拟化的VirtualizingStackPanel,另一种没有考虑虚拟化用的是WrapPanel。所以当ListBox切换到第二种Template,而且有很多Item的时候,内存就爆掉然后直接挂了。然后就想着有没

2017-12-15 17:48:23 6954 2

原创 【wpf】在win10系统上弹出toast和notification

老规矩,先看效果右下角的notification: 操作中心的notification: 整体效果: 前提条件1.需要在开始菜单里添加快捷方式。2.在注册表里注册你实现了INotificationActivationCallBack接口的com组件。3.一个APP_ID,添加到快捷方式里,ActionCenter会以此来区分不同应用的消息。缺一...

2017-11-13 17:53:04 15201 8

原创 【C#】获取任意文件的缩略图

因为用shell取缩略图时,对于损坏的文件,读出来的图有黑边,所以就诞生了以下方法,不过这个效率要比用shell取的低3-4倍。1.添加类WindowsThumbnailProvider[Flags] public enum ThumbnailOptions { None = 0x00, BiggerSizeOk = 0x01, InMem...

2017-09-20 16:47:11 5047 3

原创 【C#】WixToolset快速入门教程

介绍给windows系统做软件,常见的打包工具大家可能都听说过,如:大名鼎鼎的Installshield、Inno setup等。在遇见Wix之前InstallShield时我的主力打包工具,操作简单方便项目使用到的dll文件会自动添加,多语言支持也很好,不过不好的是免费版的功能就那几样,越来越无法满足自己的要求。后来就尝试了下Inno setup,这个是用脚本进行配置并生成安装包的,简单尝试之后发

2017-09-02 17:11:03 19436

原创 【C#】解决MouseHook捕获鼠标动作,在有些电脑上SetWindowsHookEx失败返回0的问题

最近在debug鼠标位置捕获的功能时发现在其中的一台开发电脑上,SetWindowsHookEx一直返回0,导致Hook设置失败,有时候调成Release模式又是正常的。代码如下:hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure,Marshal.GetHINSTANCE(System.Reflection.Assem...

2017-08-30 11:27:47 8266 2

原创 【WPF】DPI对控件定位产生的影响

需求程序界面上是一个Window,当用户点击桌面上除此Window之外的任何地方,都要把这个window隐藏掉。程序有个托盘图标,点击托盘图标不能隐藏window,托盘上有个右键菜单,点击右键菜单也不能隐藏。分析1.系统像素与显示器像素我们知道wpf中控件宽高的单位是1/96英寸,如果你系统的dpi为96(再这里我们不考虑显示器的dpi,那是windows系统的事情),那么1/96英寸就是1个系统像

2017-08-26 18:28:27 3000 1

原创 【WPF】SnapsToDevicePixels与UseLayoutRounding二者到底有什么区别?供参考

MSDN上解释了一大堆,二者对比来看,并不能发现什么明显的区别,微软爸爸也不知道多给写图文实例。经过几个小时的摸索,现得到以下共同点和不同点,仅供参考:共同点默认值都是false,如果设置到root元素上,则child元素也自动使用同样设置。都是为了解决wpf元素边缘模糊的问题(如下)。wpf界面元素呈现时为了看起来更平滑一点,是有抗锯齿效果的,抗锯齿效果就会导致边缘模糊。举个例子来说,边缘是

2017-08-21 19:05:43 8346 3

原创 【WPF】右下角弹出自定义通知样式(Notification)——简单教程

1.先看效果2.实现1.主界面是MainWindow上面就只摆放一个Button即可。在Button的点击事件中需要new一个弹出的NotificationWindow。代码如下: public static List<NotificationWindow> _dialogs = new List<NotificationWindow>(); int i = 0; private void Bu

2017-07-13 18:11:04 12414 9

原创 【C#】简单解决PathTooLong的Exception

前提windows系统路径的最大长度限制是260个字符(听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K个字符。所以如果一个文件夹由Linux系统创建,然后由windows系统读取处理的话,就会出现PathTooLong的异常。解决方法其实很简单在VS中添加如下Nuget包: 在用到的地方把系统的File和Directory替换为LongPathFile和Lon

2017-06-27 10:09:15 2279 1

原创 【Android】解决微信调起支付接口没反应,调不起来微信的问题

前言吐槽一下,微信支付的sdk真难用,文档混乱,坑不少。可能引起这种情况的问题1. 最不能出现的你的APPID和商户号写错了。appid是你open.weixin.qq.com里你设置的应用的id。2. 最可能出现的你应用的签名弄错了,这里坑比较多。 * 当你直接用AndroidStudio调试,在手机上直接Run的时候,用给的那个签名软件,获取到签名更新到你应用信息的这里: * 当你在另外

2017-06-23 10:49:34 32268 6

原创 【C#】wpf自定义calendar日期选择控件的样式

首先上图看下样式原理总览ItemsControl内容的生成实现界面的实现后台ViewModel的实现首先上图,看下样式 原理1. 总览:Calendar本质上是一个6x7的列表,这个列表可以用ItesControl来实现。其填充的每一个item都是一个自定义样式的Button,Button外面是一个圆形的border。根据Button按钮的IsEnabled状态,设置foregroun

2017-06-19 18:09:42 9548 6

原创 【C#】wpf添加gif动图支持

1.nuget里下载WpfAnimatedGif包,然后安装。2.添加WpfAnimatedGif包的命名空间:xmlns:gif="http://wpfanimatedgif.codeplex.com"3.开始使用: 这段代码只是个示例,主要的就是把AnimatedSource设置为你的gif动画即可。总的代码:<Page x:Class="Omni.To

2017-06-08 17:21:27 6638 7

原创 【C#】WindowsAPICodePack-Shell使用教程

1.首先在项目中添加WindowsAPICodePack的Nuget包。 点击安装即可。2.获取《我的电脑》的名字和电脑图标ShellObject so = ShellFileSystemFolder.FromParsingName(KnownFolders.Computer.ParsingName); displayName = so.Name; Bitmap bm = so.Thumbnail.SmallBitmap;

2017-05-25 11:39:37 9614 1

原创 【C#】wpf查找父子节点

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Media;namespace TestSeagate.Common{

2017-05-24 10:22:22 1352

原创 【C#】wpf中的xmlns命名空间为什么是一个网址,代表了什么意思

新建一个wpf的项目,我们先来看下它默认的命名空间都是哪些?可以看到xmlns有的是网址,有的是clr-namespace开头的一串字母。clr开头的比较好理解,就是运行时的命名空间,就像C#代码中的using xxxx之类的一样。但是对于网址开头的命名空间有可能就有点疑惑了,它究竟代表的是什么?xaml文件被解析的时候会访问这个网址吗?如果这个网址那天不能get了,那我们的程序是...

2017-05-05 16:01:47 10128 7

原创 【C#】获取"我的电脑"的名字,如This PC、这台计算机

注意:这里获取的我的电脑的名字,不是机器的名字。如图所示:1.定义ShellAPI类 public static class ShellAPI { public const int MAX_PATH = 260; public const uint CMD_FIRST = 1; public const uint CMD_L

2017-04-28 16:13:27 3872

原创 【WPF】wpf用MultiBinding解决Converter需要动态传参的问题,以Button为例

用Binding并通过Converter转换的时候,可能偶尔会遇到传参的问题,一般通过设置xaml中的BindingParameter属性来给Converter传递参数。但是这个BindingParameter只支持已经定义好的资源类型(Resource),不支持int,Object等类型,在BindingParameter中也无法再次通过Binding的方法动态赋值。所以,折腾来折腾去还不如用M

2017-04-22 15:32:06 8279

原创 【windows】常见的系统环境变量,如%appdata%表示什么意思

1.介绍%appdata%就代表了C:Users\用户名\AppData\Roaming这个文件夹。“%”是系统变量的一种表示方法,在升级补丁或者软件需要将某些内容写入系统文件夹时,都是用的这种写法,可以准确的定位。2.其他常见变量。环境变量与对应的路径%ALLUSERSPROFILE% C:\ProgramData%APPDATA% ...

2017-04-19 11:11:52 74800 4

原创 【Linux】ubuntu14.04下用AndroidStudio调试,插入设备后显示insufficient permissions for device,或者??????一串问号

1.首先,插入设备到电脑,然后再终端中输入lsusb,回车。然后再把设备拔掉,再输入lsusb,看哪一项不见了。我这边“Qualcommm,Inc”这一项不见了,说明我的设备就是这一项,然后记下设备对应的前面05c6:9039这一串数字。2.然后在终端中输入:sudo gedit /etc/udev/rules.d/51-android.rules在打开的文件中,追加:

2017-03-20 16:03:18 711

原创 【Linux】解决ubuntu14.04下升级系统之后搜狗输入法不能用的问题

1.删除现有不能用的搜狗输入法,在终端中,输入: sudo apt-get purge sogoupinyin输入y,删除现有的。2.删除搜狗拼音的配置文件,在你home文件夹的.config文件夹中,删除以下三个文件。3.然后下载搜狗输入法的deb包,重新安装即可。

2017-03-20 15:48:28 3208

原创 【C#】WPF的xaml中定义的Trigger为什么有时候会不管用,如Border的MouseOver之类的

初学WPF,知道一些控件,可以通过定义Style的Trigger改变要显示的样式,但是经常遇到一些明明Trigger已经触发了,但是里面Setter设置的样式,却没有效果的问题。其实主要原因,是样式重复定义导致的。举个例子:

2017-03-08 13:24:36 3013 1

原创 【Android】用RecycleView实现可以横向滚动的ListView效果

终于闲下来了,总结一下RecycleView的使用。一、概述与常见的ListView和GridView一样,RecycleView也用来在有限的界面上展示大量的数据。它提供了一种插拔式的体验,高度的解耦,使用非常灵活,可以通过support-v7包进行导入。先看以下RecycleView可以实现的效果:(单列上下滚动)(多列上下滚动)(多项横向滚动)(瀑布流)

2017-02-21 11:08:39 9117

原创 【Git】常用命令commit提交,push推送,merge,添加分支branch

1.常用操作:1.添加跟踪文件剔除某次提交(删除某次提交)git add .或git add -A根据ignore的配置,添加跟踪文件,其中的.或-A表示添加所有更改过的文件。2.查看状态git status3.提交到本地:git commit -m "说明"引号内为本次提交的说明文字。如果说明文字很长需要换行,则用单引号来换行,如:git commit -m '第一行..................

2017-02-10 21:18:16 33949 4

原创 【Android】无法在外置存储上创建文件夹,file.mkdirs()一直返回false

这种情况在Android6.0之前都是不存在的,6.0在权限管理方面更加全面,在读写外置存储的时候不仅要在manifest中静态授权,还需要在代码中动态授权。0.首先,在Manifest中添加基本的权限: 1.然后,在Activity中发起权限请求:ActivityCompat.requestPermissions(MainActivity.this, new

2017-02-04 19:49:11 19274 8

转载 【ASP.NET】 MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

对这四个的区别做一个总结,清理一下思路,方便以后使用:1、带有Render的方法 返回值是void,在方法内部进行输出 ;不带的返回值类型为 MvcHtmlString ,所以只能这样使用:     @Html.Partial 对应 @{Html.RenderPartial(....);}     @Html.Action 对应 @{Html.RenderAction(....);

2017-01-27 17:02:13 1497

转载 【Android】Bitmap、InputStream、Drawable、byte[]、Base64之间的相互转换

// 将Bitmap转换成InputStream(压缩率quality、100表示不压缩、10表示压缩90%) public InputStream Bitmap2InputStream(Bitmap bm, int quality) { ByteArrayOutputStream baos = new ByteArrayOutputStream()

2017-01-24 19:43:00 1129

原创 【VS】vs2012解决nuget下载太慢的问题

众所周知,由于网络的原因,国内访问nuget服务器一直都很慢。而我们经常使用的nuget 包可能会有几十M的大小,不挂vpn的话,下一天可能都下载不下来,现在就给大家一个下载nuget离线包的方法。以vs2012为例:1.打开nuge官网:https://www.nuget.org比如我想下载cefsharp这个包,就先搜索,然后出现搜索结果之后。点击左边的“Download”

2017-01-20 13:48:17 18645 3

原创 【SQL】用Sql Server自动生产html格式的数据字典

本文软件环境:Sql Server 2008。1.打开sql server管理器,给选定的表添加描述信息,给指定的字段添加描述信息。直接在表上或者字段上右键属性-扩展属性,添加一个key-value对,key就是“MS_Description",value就是你自己的描述。详细见下图:给字段添加描述的过程与上述一致,不在赘述。2.执行以下这段sql语句,然后复制查询到的结果

2017-01-03 15:47:03 3655

原创 【Android】AndroidStudio巧用Volley让ListView异步加载图片

如何listview里每一行都有图片的话,用异步加载的方式肯定是不错的,google给我们提供一个开源的组件是Volley,在github可以搜索得到,也可以直接在csdn上下载。1.下载Volley.jar点击从【CSDN下载】或去github下载。这里有一点需要注意:csdn上不同网友上传的jar包不一定适合你的项目,当不适合的适合会报类似以下错误:Error:Error

2016-12-29 18:56:53 1507

SQL即查即用(全彩版)高清pdf

SQL即查即用(全彩版)高清pdf

2021-12-28

winfrom可拖动控件位置和大小

winfrom可拖动控件位置和大小, winfrom可拖动控件位置和大小, 详见:http://blog.csdn.net/catshitone/article/details/41804025

2017-08-31

SnapsToDevicePixels与UseLayoutRounding的比较

比较详情参见: http://blog.csdn.net/catshitone/article/details/77454465 使用方法:新建解决方案,然后本项目添加进去,运行之后点击ImageWindow按钮。

2017-08-22

NotificationDemoWPF自定义通知窗体样式

资源分竟然不能设置为0,辛苦大家了。 想免积分下载的移步:http://blog.csdn.net/catshitone/article/details/75089069

2017-08-18

C# 文件管理器filebrowser demo

很强大,与系统自带的差不多,采用Shell32,可以获取到系统特殊路径的名称,对于没有权限的文件会进行动态请求。

2017-04-28

viewpager+fragment滑动,顶部导航也会滑动

viewpager+fragment滑动,顶部导航也会滑动

2016-07-12

论文查重检测Pcheck精准版3.0免费版

论文查重检测Pcheck精准版3.0免费版 内含注册码

2015-10-18

StarCraft-master.zip Html5版本

StarCraft-master.zip StarCraft的Html5版本

2015-09-11

卸载三个设备后没有生成设备的问题.zip

解决免费宽带导致的 720错误 解决后 出项的卸载三个设备后没有生成设备的问题

2015-06-05

18000-6C协议(全英文版)

18000-6C协议(全英文版)pdf AMENDMENT 1: Extension with Type C and update of Types A and B

2015-05-21

最优化方法及其matlab程序设计课后答案 马昌凤

最优化方法及其matlab程序设计课后答案 马昌凤版

2015-01-09

啊手动阀手动阀

阿三地方阿三地方啊手动阀手动阀上的发送啊手动阀手动阀上的发送分

2014-11-26

打发手动阀手动阀

啊手动阀手动阀的法法士大夫啊手动阀手动阀撒地方

2014-11-26

【C#】winform 图片局部放大类似淘宝

【C#】winform 图片局部放大类似淘宝 绝对好用

2014-11-26

【C#】winform类似淘宝局部放大图片

【C#】winform类似淘宝的局部放大图片 绝对好用

2014-11-26

p2p 打洞C++源码

P2P打洞的理论和相关实现程序代码,详细介绍了P2P打洞的理论知识,并且给出了相关的实现代码。无论是学习编写聊天程序还是木马都很有帮助

2013-06-06

ACM 程序测评 离线版 BNUEPOfflineJudge

ACM 程序测评 离线版 BNUEPOfflineJudge

2013-02-15

计算机组成原理答案第二版唐朔飞完整答案

计算机组成原理答案 第二版 唐朔飞 完整答案

2012-05-09

lindo6.1 password

序列号 password lindo6.1

2012-04-30

C# 简单的计算器

用C#语言 简单编写的一个计算器应用程序 类似于系统自带的计算器 可以作为各位初学者的参考材料

2012-01-02

人月神话 pdf中文版

为人们管理复杂项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实践。内容来自布鲁克斯在IBM公司 System/360 家族和OS/360中的项目管理经验。在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。B 《人月神话》 rooks博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。

2011-11-04

空空如也

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

TA关注的人

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