摘要:
集合的操作在编码的时候很常见。但是由于经常使用几种集合。而忽略了一些不常用的集合。在这里我整理下。 首先先了解下接口: 1、IEnumerable,返回一个循环访问集合的枚举器。 2、IEnumerable<T>,返回一个循环访问指定集合T的枚举器。 3、ICollection,在IEnumerab 阅读全文
摘要:
目录:1、fiddler解析百度登录地址2、处理传入参数1、fiddler解析百度登录地址因工作需要,所以研究了下百度的登陆。首先打开https://passport.baidu.com/v2/?login,我们用fiddler很快就能找到百度的登录入口https://passport.baidu.... 阅读全文
摘要:
在Windows metro app中调用wcf服务可以通过添加 “服务引用”来实现。一旦项目发布则不可修改。这个和桌面开发不一样。现在我们通过读取文本的方式来读取wcf地址。1、添加所需引用的wcf 地址。2、添加完之后。自动生成的Reference.cs里面我们可以看到private stati... 阅读全文
摘要:
在Office下,PowerPoint可以直接把每张幻灯片转成图片,而Word不能直接保存图片。所以只能通过先转换成xps文件,然后再转成图片。一、PPT 保存为图片 /// /// 将ppt转成图片 /// /// private void SaveToImages(string fileName) { var presentation = _application.Presentations.Open(fileName, MsoTriState.msoFalse, MsoTriState.ms... 阅读全文
摘要:
WPF中打印用到了 PrintDialog类。其中设置打印属性的是PrintTicket,管理打印机的是PrintQueue。实例如下:public class PrintDialogHelper { private const string PrintServerName = "YULIN-PC"; private const string PrintName = "HP LaserJet M1522 series PCL6 Class Driver"; public PrintDialogHelper() { } ... 阅读全文
摘要:
方法一:用ManagementClass来获取。需要引入System.Management.dll; using (ManagementClass mc = new ManagementClass("Win32_DesktopMonitor")) { using (ManagementObjectCollection moc = mc.GetInstances()) { int PixelsPerXLogicalInch = 0; // dpi for x ... 阅读全文
摘要:
目录 工具 安装事项 本地密码保存 Git常用使用操作 如何管理我们的版本及分支 工具 开源的一款版本控制器Git深受大家喜欢。下面我归纳下用Git开发需要哪些东西。 客户端: 1、msysgit 是Window平台下的功能软件 下载地址 https://code.google.com/p/msysgit/downloads/list?q=fu... 阅读全文
摘要:
1、Bar(() => Foo()) 2:Bar(Foo) 这两个委托你认为哪个好?很多人会写成第二种方法。因为简洁,而且Resharper也提示我们写成第二种方法。但问题也在这里。下面做一个测试 public void LambdaVersion() { for (var i = 0; i < 10000; i++) { Bar(() => Foo()); } } public void NormalVersion() { ... 阅读全文
摘要:
在网上支付输入银行卡的时候,经常看到输入的数字会放大和提示。 下面是WPF版的一个例子。 Code public class ZoomTextTooltip : FrameworkElement { public object ZoomText { get { return (object)GetValue(ZoomTextProperty... 阅读全文
摘要:
目录前言环境项目结构总结前沿最近在学微软的RX,这个基于异步和事件的类库。RX是由Observables+Linq+Schedulers 组成。它的优势在于处理I/O操作的时候,能够很好的处理异步操作。于是出于练习,做了一个进销存系统,至于为什么选进销存系统。因为前段时间博客园里的园友都分享了一些进销存的开源软件。环境这个系统运用了 Autofac,Caliburn.micro,RXUI,NHibernate。用了Autofac来管理我的程序的生命周期(这边占时简单的运用了)。Caliburn.micro 管理ViewModel和View,主要是它的Screen Activation Life 阅读全文
摘要:
目录:ValidationRule 验证Exception 验证IDataErrorInfo 验证Custom Control 验证1、ValidationRule 验证ValidationRule:是通过ValidationRule中的的Validate方法来验证我们绑定的属性。所以我们的用法是继承ValidationRule,重写他的Validate方法。示例public class RequiredRule : ValidationRule { public override ValidationResult Validate(object value, Cultur... 阅读全文
摘要:
在.Net Framework 4引入了dynamic关键字。它是在运行时才确定对象的类型。在运行的时候确定类型的好处是,少了一些装箱,拆箱操作。WPF中也有动态对象概念,那就是DynamicObject,它继承于IDynamicMetaObjectProvider这个接口。DynamicObject这个类能实现动态的给属性赋值和取值。它提供给我们两个TrySetMember和TryGetMember方法。我们只要重写这两个方法,来设置我们需要的属性。我们自定义一个DynamicBindingProxy泛型类:public class DynamicBindingProxy<T> 阅读全文
摘要:
目录:简介示例结论在.NET 4.0中多了一个IObservable和IObserver接口。用MSDN的话说是:基于推送的通知的提供程序。相当拗口。个人理解就是属性发生变化时,订阅该属性的方法得到通知。就是观察者模式的定义。示例:现在有A和B。他们输入值后得到C。只要A和B有一个输入,C就会发生变化。我用观察者模式来写 A输入了值。C发生了变化: public enum Bit { Low = 0, High = 1 } public interface IInput { void SetValue(Bit bit); } ... 阅读全文
摘要:
目录:1、Timer:设定Obervable执行时间间隔。2、Enumerable to Observable转换3、Observable to Enumerable 转换4、zip 匹配的两个序列合并操作,返回一个合并后的值5、Buffer 缓存集合6、TimeOut 超出预订时间,取消订阅事件。当超出时间后可以Catch这个异常。7、Merge 合并两个Observable8、CombineLatest 最近输入的两个数字相比较9、Publish 共享订阅事件10、Interval 订阅事件的时间间隔11、Group 分组1、Timer:设定Obervable执行时间间隔。Subscrib 阅读全文
摘要:
目录: Metro风格控件 Metro主题 MahApps.Metro文档地址:http://mahapps.com/MahApps.Metro/ 源码地址:https://github.com/MahApps/MahApps.Metro 在VS中可以装一个NuGet插件来下载MahApps.Metro.dll和MahApps.Metro.Resources.dll。 Ma... 阅读全文