随笔分类 -  .NET Miscellaneous

摘要:"Consistency in a user interface is an important trait; there are many facets of consistency, one of which is the consistent look and feel of controls. For example, all buttons should look roughly the same – similar colors, the same margins, and so on."UI的风格一致性是应用程序应当关注的重要特性。“Styles provid 阅读全文
posted @ 2013-07-11 14:22 DebugLZQ 阅读(9117) 评论(6) 推荐(8) 编辑
摘要:在.NET中,我们使用try-catch-finally来处理异常。但,当一个Exception抛出,抛出Exception的代码又没有被try包围时,程序就崩溃了。这些异常往往是你没有注意到的。在WPF中,提供了一种处理这些个异常的方式。举例来说明。1.先抛出个异常,不用try包围它。在MainW... 阅读全文
posted @ 2013-07-08 09:01 DebugLZQ 阅读(11314) 评论(8) 推荐(9) 编辑
摘要:有时我们不希望我们的WPF应用程序可以同时运行有多个实例,当我们试图运行第二个实例的时候,已经运行的实例也应该弹出来。我们可以用Mutex来实现打开App.xaml.cs,在App类中添加如下内容 public partial class App : Application { [DllImport("user32", CharSet = CharSet.Unicode)] static extern IntPtr FindWindow(string cls, string win); [DllImport("user32")] ... 阅读全文
posted @ 2013-07-04 22:09 DebugLZQ 阅读(3922) 评论(6) 推荐(5) 编辑
摘要:“Logical resources may be of various types, such as brushes, geometries, styles, and templates.Placing all those resources in a single file such as App.xaml hinders maintainability. A betterapproach would be to separate resources of different types (or based on some other criteria) totheir own files 阅读全文
posted @ 2013-07-02 22:03 DebugLZQ 阅读(14911) 评论(8) 推荐(3) 编辑
摘要:这篇博文分享下保龄球计分算法。计分规则描述如下:A game of tenpins bowling lasts ten frames, in each of which the bowler makes one or two attempts to knock down ten pins arran... 阅读全文
posted @ 2013-07-01 20:24 DebugLZQ 阅读(3226) 评论(1) 推荐(0) 编辑
摘要:"Markup extensions are used to extend the capabilities of XAML, by providing declarativeoperations that need more than just setting some properties. These can be used to do prettymuch anything, so caution is advised – these extensions must preserve the declarative natureof XAML, so that non-dec 阅读全文
posted @ 2013-06-27 21:27 DebugLZQ 阅读(4691) 评论(7) 推荐(4) 编辑
摘要:附加属性附加属性,大家都不陌生,最常见的是Canvas.Left/Canvas.Top,类似的也有Grid.Row/Grid.Column等附加属性。举个最常见的例子 需要说明的是并不是所有的附加属性都是元素放进去后才会有附加效果,上面的例子只是刚好是这种错觉的巧合情况,Grid.Row也属于这... 阅读全文
posted @ 2013-06-26 23:35 DebugLZQ 阅读(27235) 评论(6) 推荐(8) 编辑
摘要:1.XAML接触WPF的第一眼就是XAML---XAML是用来描绘界面的。其实不然!"Actually, XAML has nothing to do with UI. It's merely a declarative way of constructing objects and setting their properties.”XAML和UI一点关系也没有,它仅仅是一种以声明方式来构建对象,设置对象属性的一种方式而已,和code behind file作用差不多。XAML这种声明方式构建对象的好处是,程序员只管声明自己要什么,至于如何构建则不需要考虑。XAML对WPF 阅读全文
posted @ 2013-06-25 21:45 DebugLZQ 阅读(5379) 评论(1) 推荐(1) 编辑
摘要:前面DebugLZQ的两篇博文:浅谈IOC--说清楚IOC是什么IoC Container Benchmark - Performance comparison在浅谈IOC--说清楚IOC是什么中,DebugLZQ介绍了什么是到底什么是IOC/DI,再复习一下,那么到底什么是IOC呢?就像Marti... 阅读全文
posted @ 2013-06-24 14:42 DebugLZQ 阅读(9748) 评论(1) 推荐(1) 编辑
摘要:Recently I've been practising Team Founder Server, and at least on the surface, it seems very impressive. There is some great integration with Visual Studio, and lots of great tools for DBAs, testers, project managers, etc.Here is some tips for rookies like me. Those who are familiar with this t 阅读全文
posted @ 2013-06-01 04:02 DebugLZQ 阅读(554) 评论(0) 推荐(0) 编辑
摘要:Original posted byJenni KonradonJan 20, 2012Red Gate recently introduced .NET Demon, a new extension that continuously tests and compiles code in the background in Visual Studio.In order to support continuous compilation, .NET Demon replaces Visual Studio's build system. To make this process fas 阅读全文
posted @ 2013-05-31 19:46 DebugLZQ 阅读(293) 评论(0) 推荐(0) 编辑
摘要:关于类型关于.NET中类型,在网上很多地方我们可以看到的是:值类型和引用类型两种。我也这么认为的,貌似这样认为也没有错。但本文从学术角度来说说,想到哪里就说到哪里了,各位就当是茶语饭后喝其他同事闲谈扯淡,听听就行,百家争鸣,不洗勿喷。其实还有两种,如下:简单的说一下:Value types:继承自System.ValueType的类型。Generic type parameters:带泛型参数的类型,即DebugLZQ在泛型中提到过的所谓“开类型”,其特点是在T被指定之前无法被实例化。可参考下DebugLZQ前面的这篇博文:浅谈.NET中泛型的基本原理。pointer types:指针类型,一 阅读全文
posted @ 2013-05-30 21:36 DebugLZQ 阅读(822) 评论(0) 推荐(0) 编辑
摘要:FxCop和StyleCop相似都是用来约束我们编码规范的,关于这两者以及VS自带的Code Analysis的区别可以参考DebugLZQ前面的博文。两者的安装过程非常简单,直接从网上下载这两个Cop的安装文件,按照默认设置安装即可。StyleCop安装文成后,我们就可以在VS的解决方案或是单个文件的任何位置右击使用,其默认已经集成到VS中。如下图所示。而FxCop安装完成后,并没有默认继承到VS中,安装完成后,如下:当然,我们可以运行这个“红绿灯”,新建一个FxCop Project,然后加载相应Project(编译成的exe、dll等),Analyze如下:更好的作法是,将FxCop集成 阅读全文
posted @ 2013-05-23 19:39 DebugLZQ 阅读(1395) 评论(0) 推荐(0) 编辑
摘要:WPF实现不规则窗体,方法很多很多多....本文总结DebugLZQ认为简洁高效的几种方法实现WPF不规则窗体的几种常用的方法如下: 1.使用Blend等工具绘制一想要的窗体。这个可以参考xiaowei0705的这篇博文:WPF制作不规则的窗体。 2.给window的Clip属性赋Path值。这个可以参考DebugLZQ前面的博文:WPF Effect Clip以及Transform。 3.使用透明背景的PNG图像。 4.为Window主容器添加Border 5.使用Blender制作想要的Path的说明。 6.其他本文将要讲述的第一种方法,可以说一点技术含量都没有,基本不用动手编... 阅读全文
posted @ 2013-05-16 22:17 DebugLZQ 阅读(13091) 评论(11) 推荐(2) 编辑
摘要:什么是类?将某类东西归纳在一起,可以成为一个类。类有很多种提炼角度,需要根据系统地目标、业务的场景,选取合适的角度对事物进行归纳。什么是类图?类图可能是UML中使用的最多的一种图。和其他图一样,类图的基本语法并不复杂,可能一两天就能掌握,但是真正做到灵活的使用类图,可能需呀多年的功力。类图是锻炼OOA(OO Analysis)和OOD(OO Design)思想的重要工具,有助于OOA、OOD思想的提升。本篇博文,重点讲述类图中类与类之间的关系以及这种关系在代码中的实现形式。写作本文的原因是:网上关于UML类图的语法规则等的资料很多,但是涉及到关系在代码中实现形式的文章却很少。这是很容易理解的: 阅读全文
posted @ 2013-05-13 22:40 DebugLZQ 阅读(10679) 评论(4) 推荐(3) 编辑
摘要:前面的博文:WPF拖动总结中DebugLZQ遇到的问题是:DebugLZQ给容器中所有UI控件注册一个MouseLeftButton事件,Button控件无法捕获这儿事件的问题,加个断点看下,程序根本不到达这个地方。当时只是简短的提了一下,觉得不够,因此决定再发一篇博文来说一下。foreach (UIElement uiEle in LayoutRoot.Children){ uiEle.MouseMove += new MouseEventHandler(Element_MouseMove); uiEle.MouseLeftButtonDown += new MouseButtonE... 阅读全文
posted @ 2013-05-09 16:45 DebugLZQ 阅读(2770) 评论(3) 推荐(2) 编辑
摘要:这篇博文总结下WPF中的拖动,文章内容主要包括:1.拖动窗口2.拖动控件 Using Visual Studio 2.1thumb控件 2.2Drag、Drop(不连续,没有中间动画) 2.3拖动一个控件 2.4让一个窗口内的所有(指定的)控件可拖动3.Expression Blend X实现拖动(Best Practice)Update: Move and resize controls on a form at runtime (with drag and drop)小结1.拖动窗口 我们知道,鼠标放在窗口的标题栏上按下就可以拖动窗体。我们要实现在窗口的全部地方或特定地方按下鼠标左... 阅读全文
posted @ 2013-05-07 16:27 DebugLZQ 阅读(39429) 评论(8) 推荐(18) 编辑
摘要:今天DebugLZQ在做WPF拖动总结的时候,遇到了这个问题。baidu了下,貌似没有解决这个问题的权威答案,遂写下这篇博文。我想做的事情是:拖动一个窗体内的控件(Rectangle)到另一个容器控件内,而保留原来的控件。为了更好地把问题说清楚,请看如下代码片段:void canvas1_Drop(object sender, DragEventArgs e){ IDataObject data = new DataObject(); data = e.Data; if (data.GetDataPresent(typeof(Rectangle))) { Rectan... 阅读全文
posted @ 2013-05-06 11:08 DebugLZQ 阅读(8043) 评论(8) 推荐(5) 编辑
摘要:前面的一篇博文DebugLZQ使用三层架构实现了TaskVision,并在后面利用Webservice代替ClassLibrary实现SQL Server 2008数据库操作提供程序。关于三层架构的理解请参考前一篇博文。写这篇博文的目的在于,强调我前面一篇博文中提到但是今天又遇到且花了我一定时间去解... 阅读全文
posted @ 2013-05-01 12:10 DebugLZQ 阅读(4101) 评论(1) 推荐(1) 编辑
摘要:前言: 关于不同框架实现同一个TaskVision:前面DebugLZQ先是用WPF(没有使用MVVM,因为前面使用MVVM实现过过点餐系统),因而这个关键点就放在了WPF的Binding上面;然后用普通的Winform,没有加入任何模式,实现了相同的功能。因此这个重点放在了DataGridView... 阅读全文
posted @ 2013-04-30 21:45 DebugLZQ 阅读(5366) 评论(2) 推荐(6) 编辑