12 2013 档案

摘要:Tag(object).Equals(alarmStatus(string)):object.Equals体现了完全的“对象比较”,而不是引用比较(若是引用比较,则起码左右两侧的类型应该相同)。说明:Tag与alarmStatus这两个引用指向“堆中”的“同一个对象”。 阅读全文
posted @ 2013-12-31 17:09 长白山 阅读(151) 评论(0) 推荐(0) 编辑
摘要:1:ListCollectionView : CollectionView : INotifyCollectionChanged, INotifyPropertyChanged2:ObservableCollection: INotifyCollectionChanged, INotifyPropertyChanged由于“1”和“2”都实现了“INotifyCollectionChanged, INotifyPropertyChanged”接口,所以在添加项、移除项或刷新整个集合时,都具有“自动通知”目标的功能。其中“ListCollectionView”集合的变化主要受“构造参数”——IL 阅读全文
posted @ 2013-12-30 17:36 长白山 阅读(391) 评论(0) 推荐(0) 编辑
摘要:DataTemplate 的 "DataType" 通常就是 “ViewModel” ——视图模型(亦可不恰当称之为:数据模型) 阅读全文
posted @ 2013-12-29 00:23 长白山 阅读(235) 评论(0) 推荐(0) 编辑
摘要:在ListBox中承载大量的数据项时,可采用虚拟可视化技术来提高控件显示数据的性能。如下代码: 阅读全文
posted @ 2013-12-28 23:46 长白山 阅读(285) 评论(0) 推荐(0) 编辑
摘要:1:善于用“Margin”做动画效果2:色彩处理通常用:Brush,而Brush(如:SolidColorBrush)的实例化,通常需要载入“ System.Windows.Media.Color”(如:System.Windows.Media.Colors.Blue) 阅读全文
posted @ 2013-12-27 17:54 长白山 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Binding.RelativeSource 属性说明:通过指定绑定源相对于绑定目标的位置,获取或设置绑定源。此属性通常用于将对象的某个属性绑定到该对象的另一个属性,或用于在样式或模板中定义绑定。默认情况下,如果已设置了DataContext属性,则绑定会继承该属性所指定的数据上下文。但是,RelativeSource属性是一种可以显式设置Binding的源和重写继承的数据上下文的方式。有关更多信息,请参见如何:指定绑定源。此外,使用Binding.ElementName和Binding.Source属性还可以显式设置绑定源。但是,对于每个绑定,只能设置ElementName、Source和R 阅读全文
posted @ 2013-12-25 15:01 长白山 阅读(458) 评论(0) 推荐(0) 编辑
摘要:在WPF中,有着两种资源:(1)第一种是:组件资源,又被称为程序集资源,以二进制存在编译后的程序集中,通常用于存放图片或其他音频文件。不恰当的说,就是WPF控件所需要的一些“图片”、“颜色”等资源。例如,Image控件:(2)第二种是:对象资源,通常放于xaml中。比如WPF的样式(Style)、控件模板(ControlTemplate)、数据模板(DataTemplate),甚至可以是“普通”实例(例如:BitmapImage 或 自定义类) 对于“普通”实例的情况,特举例如下: 元素==实例 (1):BitmapImage类 (2)alarm命名空间下的3个自定义类 阅读全文
posted @ 2013-12-24 11:27 长白山 阅读(220) 评论(0) 推荐(0) 编辑
摘要:在WPF中。有着两种资源, 一种是组件资源:又被称为程序集资源,以二进制存在编译后的程序集中,通常用于存放图片或其他音频文件. 第二种是对象资源:通常放于xaml中。比如WPF的样式和数据绑定特性. demo地址 http://download.csdn.net/source/3449754 组件资源:和以前 在WPF中。有着两种资源, 一种是组件资源:又被称为程序集资源,以二进制存在编译后的程序集中,通常用于存放图片或其他音频文件. 第二种是对象资源:通常放于xaml中。比如WPF的样式和数据绑定特性. demo地址 http://download.csdn.net/source... 阅读全文
posted @ 2013-12-23 18:06 长白山 阅读(493) 评论(0) 推荐(0) 编辑
摘要:第一种写法:(1):定义样式2:引用样式第二种写法: 说明如下:Source的属性值应该为“ImageSource 或 ImageSource的派生子类的实例”即Value = 应该为“ImageSource 或 ImageSource的派生子类的实例”Value="{StaticResource ResourceKey=RedLamp_Active}":把由“RedLamp_Active”关键字所代表的“BitmapImage”实例赋值给ValueSetter:设置器Property:用来指定“某一个”属性Value:用来设置“某个”属性的值{StaticResource 阅读全文
posted @ 2013-12-23 17:33 长白山 阅读(1975) 评论(0) 推荐(0) 编辑
摘要:下面这种形式是比较常见的“一种”,当然还有其它的形式: public event Action NewAlarmDataArrivingEvent; //声明事件 //定义一个方法,在该方法中封装了引发事件的代码,该方法的参数通常为事件的处理方法的参数。在需要引发事件的地方,调用该方法即可 private void RaiseArrivingEvent(AlarmData newAlarm) { if (newAlarm != null && !bisInitializing && NewAlarmDataArrivingEvent != null) //引发事 阅读全文
posted @ 2013-12-23 11:14 长白山 阅读(232) 评论(0) 推荐(0) 编辑
摘要:private IEnumerable BatchCreateChartItems(double[] computedResult) { for (int i = 0; i :表示该方法返回一个枚举器2、yield return:表示以迭代的方式向“该方法”的调用端返回值(使用这种语法的前提条件是:“该方法”的返回值类型必须为“枚举器”,并且“该枚举器”支持在集合上进行简单迭代。3、new ChartDataItem(){。。。。。。},对象初始化器简要说明:IEnumerable的“原型”就是IEnumerable,说明如下:IEnumerable:它是一个公开枚举器,该枚举器支持在指定类型 阅读全文
posted @ 2013-12-21 20:23 长白山 阅读(129) 评论(0) 推荐(0) 编辑
摘要:属性是用来包装字段的一个“外壳”或 “代理人”,真正的“主人”还是“字段” 阅读全文
posted @ 2013-12-21 14:33 长白山 阅读(165) 评论(0) 推荐(0) 编辑
摘要:通常可以通用,但要是有特殊情况或详细区分的话,可以参考下面的说法:如果你需要在你的代码初始化静态成员的代码中进行异常处理是可以直接使用静态构造函数,在构造函数中添加异常处理代码;如果是只需要对静态成员进行空间的分配那么直接使用初始化器语法即可——在声明静态成员的时候对其进行初始化。在声明成员变量的同时对其进行初始化(就是指在“堆”中分配内存空间),就叫做初始化器 阅读全文
posted @ 2013-12-21 14:20 长白山 阅读(321) 评论(0) 推荐(0) 编辑
摘要:仅供参考之用:代码风格没有正确与否,重要的是整齐划一,这是我拟的一份《项目代码风格要求》,供大家参考。1. C# 代码风格要求1.1注释类型、属性、事件、方法、方法参数,根据需要添加注释。如果类型、属性、事件、方法、方法参数的名称已经是自解释了,则不需要加注释;否则必须添加注释。当添加注释时,添加方式如下图所示:1.2 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的。唯一可以使用中文的地方是枚举的枚举项,枚举项实际已经不属于本节标题的范畴了。这里只是放到一起说明,如下图所示:1.3 不使用缩写所有类型、方 阅读全文
posted @ 2013-12-21 13:42 长白山 阅读(125) 评论(0) 推荐(0) 编辑
摘要:连接:http://www.cnblogs.com/IPrograming/tag/Effective%20C%23/ 阅读全文
posted @ 2013-12-21 13:35 长白山 阅读(127) 评论(0) 推荐(0) 编辑
摘要:我们知道在C#语言中创建一个类型的实例前,就应该初始化该类型的所有静态成员变量。C#语言为我们提供了静态初始化器和静态构造函数。其中,静态构造函数是一个特殊的构造函数,将在其他所有方法执行前以及变量或属性被第一次访问之前将自动调用静态构造函数,且仅执行一次。我们可以通过使用静态构造函数来初始化静态变量、实现单例模式或者执行类在可用之前的所有操作。但是不能够使用实例构造函数专门的私有函数或者其他什么方式来初始化静态变量。 静态类成员变量也有和实例成员类似的初始化器语法,如果只是需要为某个静态成员分配空间,可以直接使用初始化器语法,但是如果需要使用一些更复杂的逻辑来初始化静态成员变量那就应该... 阅读全文
posted @ 2013-12-21 13:33 长白山 阅读(257) 评论(0) 推荐(0) 编辑
摘要:一、用属性代替可访问的字段 1、.NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处; 2、在属性的get和set访问器重可使用lock添加多线程的支持。 二、readonly(运行时常量)和const(编译时常量) 1、const只可用于基元类型、枚举、字符串,而readonly则可以是任何的类型; 2、const在编译时将替换成具体的常量,这样如果在引用中同时使用了const和readonly两种值,则对readonly的再次改变将会改变设计的初衷,这是需要重新编译所更改的程序集,以重新引用新的常量值。 3、const比readonly效率高,但失去了应用的灵活性... 阅读全文
posted @ 2013-12-21 13:06 长白山 阅读(242) 评论(0) 推荐(0) 编辑
摘要:1:在WPF中,界面上的动作,效果(甚至包括隐藏,显示等动作)。在界面展示的效果,实际上,在后台使用C#数据(即属性)来支撑这些效果(比如:在前台的触发器中,通过绑定后台“属性”来控制“触发器”是否被触发;当触发时,展现一种效果,当不被触发时,界面效果还原),这样通过使用MVVM框架模式来处理是最好的。2:在处理WPF控件的界面数据显示效果时(添、删、改、查,清除等显示效果),通常不使用WPF控件的属性或方法来处理,而是通过与wpf控件绑定的数据源来处理,通过改变数据源(可能为单一对象或集合),来达到控制WPF控件的界面显示效果(因为控件与数据源是绑定的)。 阅读全文
posted @ 2013-12-20 16:52 长白山 阅读(200) 评论(0) 推荐(0) 编辑
摘要:在wpf中,定义集合属性时,字段可以使用“ObservableCollection”定义,以保证数据改变时的自动通知功能;属性可以使用“ICollection”定义,保证属性的灵活性,且只读,保证属性的安全性;对属性值的更改可以通过“ICollection.Add”方法来实现。需要说明的是:属性始终指向“字段”(属性可以看做 指针 或 变量的引用;而字段才是真正的对象;属性指向“字段”),所以,表面上是属性在改变,而实际上是“字段”在变化。通过打断点分析可知:“PieData”属性值的类型不是“ICollection”,而是“ObservableCollection”,很有趣吧!private 阅读全文
posted @ 2013-12-20 15:58 长白山 阅读(521) 评论(0) 推荐(0) 编辑
摘要:关于事件的“激发”,可以进行以下两种描述,便于从多个角度进行理解,也便于在实际开发中灵活应用。1:在某种情况下,会引发“某个事件” 或 根据“某种需要”,在代码的“适当位置”“主动” 引发一个事件。 2:在某种动作 或 时机下,会触发“某个事件”。 如下面的例子:调用RaiseRemovingEvent方法,将“主动”引发“BatchAlarmDataRemovedEvent”事件 public event Action> BatchAlarmDataRemovedEvent; private void RaiseRemovingEvent(IList abandonedAlarms.. 阅读全文
posted @ 2013-12-18 22:22 长白山 阅读(332) 评论(0) 推荐(0) 编辑
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ /// /// 功能:c#只读字段和常量的区别,以及静态构造函数的使用 /// class Program { static void Main(string[] args) { Console.WriteLine(test.a); Console.WriteLine(test.b); Console.Read(); } } public class test {... 阅读全文
posted @ 2013-12-18 15:55 长白山 阅读(494) 评论(0) 推荐(0) 编辑
摘要:方法的参数,尽量使用接口和抽象类,以使参数的灵活性更强,以使方法的适应性更强 阅读全文
posted @ 2013-12-16 20:58 长白山 阅读(166) 评论(0) 推荐(0) 编辑
摘要:1:声明或定义事件2:注册事件,同时该事件会订阅一个处理方法(或者说绑定处理方法)3:触发事件,这将导致“处理方法”被调用(该处理方法可能被“主线程”调用,也可能被“子线程”调用) 阅读全文
posted @ 2013-12-16 16:13 长白山 阅读(122) 评论(0) 推荐(0) 编辑
摘要:使用“事件”可以实现线程间“消息/数据”的传递,非常棒的一种方法。 阅读全文
posted @ 2013-12-12 14:44 长白山 阅读(380) 评论(0) 推荐(0) 编辑
摘要:不要认为你关心的东西就是对象的全部或对象的核心,相对于对象的成员家族而言,它仅仅是其中的一个‘很小的成员而已’ 阅读全文
posted @ 2013-12-11 16:41 长白山 阅读(158) 评论(0) 推荐(0) 编辑
摘要:VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口 阅读全文
posted @ 2013-12-11 10:50 长白山 阅读(250) 评论(0) 推荐(0) 编辑
摘要:用最易懂的说法就是UTF-8里包括GB2312。UTF-8是国际通用的标准(包括世界所有的语言),而GB2312(只是简体中文)只适合做中文的网站。假设你想做个中文网页,但是还可以翻成英文的话,就得用UTF-8。如果用GB2312做的话,只能给中国人看看拉。在网页编码、进行xml数据传输时、socket传输数据时,若出现乱码现象,则可能是“编码格式”问题(比如:发送端的“编码格式”与接收端的“编码格式”不兼容), 阅读全文
posted @ 2013-12-09 22:11 长白山 阅读(190) 评论(0) 推荐(0) 编辑
摘要:本文摘自:http://blog.csdn.net/leesmn/article/details/6916458(很优秀的博客)作为ESRI的平台的一份子arcgis api for silverlight,自然与ESRI的其它产品有联系。上一篇我们做了一个地图浏览的程序,它的确很简单。只是有一点不大明白: 这个是什么意思。想弄明白这个问题,我们就不得不提到图层的概念。ArcGISTiledMapServiceLayer:是缓存图层,通过预先将地图数据切片缓存在服务器硬盘,客户端访问时服务会根据其当前访问区域计算出显示的图片返回给客户端。客户端就可以看到地图了,其实是几张图片组合起来的。Arc 阅读全文
posted @ 2013-12-05 18:52 长白山 阅读(508) 评论(0) 推荐(0) 编辑
摘要:1、在vs2010选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”:命名为:Setup1。这是在VS2010中将有三个文件夹, 1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe; 3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。2、应用程序文件夹中点右键添加文件:表示添加要打包的文件;添加的文件一般是已经编译过应用程序的 阅读全文
posted @ 2013-12-04 16:01 长白山 阅读(223) 评论(0) 推荐(0) 编辑
摘要:地图三要素:即点、线、面,这三要素在地图上的表现都有其各自的符号,具体如下:(1)点的符号:用来表示地图上某个“点”的一种标记,可以是几何图形(三角形、圆形、正方形、菱形),也可以是图片(旗子,雨滴、车辆、船舶、火山),甚至可以是文字。(2)线的符号:用来表示地图上某个“线”(如:直线,折线,曲线)的一种标记,可以是实线、虚线,或其它线型。(3)面的符号:用来表示地图上某个“面”(如:一块区域)的一种标记,可以是一块带有“背景颜色”的区域,也可以是一块带有“背景图片”的区域。 阅读全文
posted @ 2013-12-01 02:25 长白山 阅读(411) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示