01 2014 档案

摘要:http://www.cnblogs.com/xufei/p/copyDeep.html 阅读全文
posted @ 2014-01-26 17:53 长白山 阅读(118) 评论(0) 推荐(0) 编辑
摘要:if (SelectedPoliceForceNode != null)//若事件不为空(事件已经注册){ SelectedPoliceForceNode(selectedNode.Tag as GPSData);//引发事件}“引发”事件的结果就是调用或执行:1:事件 注册的 处理方法;2:事件 绑定的 处理方法;3:事件 在注册时 所绑定 的处理方法 阅读全文
posted @ 2014-01-25 22:45 长白山 阅读(157) 评论(0) 推荐(0) 编辑
摘要:控件树,在树上的每一个分支,包括叶子(比如:grid,stackpanel,lable,TextBlock)等,都有DataContext属性,并且该值可以实现从“外层”向内层传递 我们要将“对象A”中的“Name属性”绑定到“Lable控件”的“Content”属性上,若对象A中“无”Name属性,则必然会报错!对象A 是“单对象”,还是集合对象,这个并不重要,重要的是它是否有名称为“A”的属性 ;DataContext = 对象(单对象/集合对象):该“对象” 即 数据对象,在MVVM中就是ViewModel 阅读全文
posted @ 2014-01-25 11:27 长白山 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-01-21 11:22 长白山 阅读(682) 评论(0) 推荐(0) 编辑
摘要:以下摘自“CSDN”的某人博客,部分内容有待验证,需注意“辨别学之。。。。”1、Template是指控件的样式在WPF中所有继承自contentcontrol类的控件都含有此属性,(继承自FrameworkElementdl类的TextBlock等控件无)。Template用于定义控件结构(Visual Tree),和Style有点容易混淆,每个控件初始没有Style属性,而在WPF中所有的控件都有默认的Template。Style也做样式解释,但是它改变的只是控件原来的属性,比如长宽颜色之类的,而Template可以改变控件的形状外形,还可以根据需要往里面添加其他的控件来丰富当前的控件。St 阅读全文
posted @ 2014-01-18 20:55 长白山 阅读(352) 评论(0) 推荐(0) 编辑
摘要:常用的ItemsControl控件有:ListBox、ComboBox、TreeView、DataGrid等等。(小结:均是“多项”控件,多项 对应 集合,单项 对应 元素)ItemsControl常用的属性有:ItemsSource属性(IEnumerable类型),ItemTemplate 属性{DataTemplate类型 }。。。。后续补中。。。。。。。。。。。。。。 阅读全文
posted @ 2014-01-18 20:29 长白山 阅读(534) 评论(0) 推荐(0) 编辑
摘要:Text="{Binding Path=SearchKeyWord, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"将“源”显示到“目标”===》执行属性的get访问器将“目标”更新到“源”====》执行属性的set访问器 阅读全文
posted @ 2014-01-18 16:37 长白山 阅读(182) 评论(0) 推荐(0) 编辑
摘要:public delegatevoid Action([T1 t1][,T2 t2][,T3 t3]...)public delegate TResultFunc(T t) 阅读全文
posted @ 2014-01-18 16:18 长白山 阅读(113) 评论(0) 推荐(0) 编辑
摘要:若IEnumerable作为方法返回值的类型,则建议使用“迭代”模式(yield return)private IEnumerable CreatePFNode(IEnumerable pfvm) { foreach (var pf in pfvm) { yield return new TwoLevelTreeNodeViewModel() { HeaderText = pf.Text, Tag = pf.RelativeData }; } } 阅读全文
posted @ 2014-01-17 11:16 长白山 阅读(6736) 评论(0) 推荐(0) 编辑
摘要:IEnumerable:序列T:序列中的“元素”的类型“私下” 可以看成 集合性质 的 阅读全文
posted @ 2014-01-16 15:21 长白山 阅读(331) 评论(0) 推荐(0) 编辑
摘要:在Xaml中: ItemsSource="{Binding Path=GridDataSource.PoliceforceDataSource}"在ViewModel中: ObservableCollection policeforceDataSource = new ObservableCollection(); public IEnumerable PoliceforceDataSource { get { return policeforceDataSource; } }说明: 1:属性PoliceforceDataSource是只读的,并且IEnumerable没有 阅读全文
posted @ 2014-01-15 11:01 长白山 阅读(665) 评论(0) 推荐(0) 编辑
摘要:下面是ListBox.ItemTemplate(数据模板)应用的“典型”例子,概述如下两点: 1:Grid部分,用来“规划” 数据 显示的 布局(即数据长成什么样子) 2:给DataTemplate添加触发器(即给Item添加了触发器),因此联想到,也可以给ControlTemplate添加触发器。 阅读全文
posted @ 2014-01-14 22:12 长白山 阅读(1084) 评论(0) 推荐(0) 编辑
摘要:TileMode(平铺模式) 枚举的成员:成员名称说明FlipX与 Tile 相同,只不过图块的交替列被水平翻转。 基本图块本身不翻转。 FlipXYFlipX 和 FlipY 的组合。 基本图块本身不翻转。 FlipY与 Tile 相同,只不过图块的交替行被垂直翻转。 基本图块本身不翻转。 None绘制基本图块,但不重复基本图块。 其他区域是透明的 Tile先绘制基本图块,然后通过重复基本图块来填充其他区域。 一个图块的右边缘与下一个图块的左边缘衔接,上下边缘的衔接与此类似。 阅读全文
posted @ 2014-01-14 16:47 长白山 阅读(877) 评论(0) 推荐(0) 编辑
摘要:在xaml中,对于Style、DataTemplate、ControlTemplate、StoryBord等资源,可以放在UserControl.Resource、Windows.Resource、Control.Resource、DataTemplate.Resource、ControlTemplate.Resource、StoryBord.Resource、Style.Resource、ResourceDictionary中定义。在定义Style时,若仅指定TargetType,而不指定x:Key,则“该样式”会应用到 有效范围内的全部TargetType类型的控件(包括兼容的)。资源字典 阅读全文
posted @ 2014-01-14 13:40 长白山 阅读(321) 评论(0) 推荐(1) 编辑
摘要:首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBrushKey和HighlightTextBrushKey分别代表ListBoxItem被选中时文字和背景颜色,没有Highlight的BrushKey代表ListBox没有焦点时的选中项文字和背景颜色,如下示例代码: AAA B ccc这样的话,ListBox选中颜色变成了这样:可是这种方法仅仅能改变统一的颜色,无法完成其他更多要求。那么另一种更强大的方法就是在模板中定义。一种方法就是在控件模板中根据ListBoxItem的Is... 阅读全文
posted @ 2014-01-14 10:55 长白山 阅读(3971) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/mgen 阅读全文
posted @ 2014-01-13 17:50 长白山 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一个内容控件分解它的“结构树”,肯定能够看到ContentPresenter“元素”,该元素的功能:用来为“内容控件”显示“Content” 阅读全文
posted @ 2014-01-13 10:35 长白山 阅读(188) 评论(0) 推荐(0) 编辑
摘要:1:wpf中,所有的内容控件都继承自“ContentControl”,所以我们可以直接应用“ContentControl”自定义我们“需要的”内容控件。2:ContentControl具有Content属性,其派生的子控件可继承拥有它。ContentControl的“组成树”包括ContentPresenter元素,该元素具有“Content”属性,实际上是由ContentPresenter负责将ContentControl的Content属性显示出来,进一步,就是把“wpf内容控件”的Content属性显示出来。在ContentControl的“组成树”内部:ContentPresenter 阅读全文
posted @ 2014-01-12 21:20 长白山 阅读(787) 评论(0) 推荐(0) 编辑
摘要:ItemsControl是集合类控件的基类,如:ListBox、ComboBox、TreeView所以,我们可以直接应用“ItemsControl”自定义我们“需要的”集合类型控件 阅读全文
posted @ 2014-01-12 21:05 长白山 阅读(287) 评论(0) 推荐(0) 编辑
摘要:ItemsControl:ListBox,ComboBox,TreeViewItemContainerStyle是用来设置每一个集合控件的Item的样式的属性(即设置每一个项的样式)。 使用ItemContainerStyle 需要注意,如果集合控件的每一项是通过绑定生成的,则ItemContainerStyle对每一项Item都起作用,如果集合控件的项是通过直接在XAML中添加的,则ItemContainerStyle只对集合控件的第一层Item起作用。 这个效果容易在TreeView等有层次结构的集合控件中引起误解。例: 阅读全文
posted @ 2014-01-12 20:44 长白山 阅读(6178) 评论(0) 推荐(0) 编辑
摘要:ImageBrush:利用图像绘制区域ImageBrush 是一种将自身内容定义为图像的 TileBrush,图像通过它的 ImageSource 属性指定。 您可以控制图像的拉伸、对齐和平铺方式,因此可以生成图案和其他效果。 下面的图像演示使用 ImageBrush 可以实现的一些效果。ImageBrush 可以绘制形状、控件、文本等如上所述,ImageBrush 可利用 ImageSource 绘制区域。 与 ImageBrush 一起使用的 ImageSource 的最常见类型是 BitmapImage,它描述一个位图图形。 使用 Drawing 对象时,您可以使用 DrawingIma 阅读全文
posted @ 2014-01-12 19:33 长白山 阅读(939) 评论(0) 推荐(0) 编辑
摘要:通俗理解Stretch的Uniform和UniformToFill: Uniform,控件的高度和宽度会增加直到达到了容器的大小,也就是说控件的大小和容器的大小是有关系的,同时如果给控件设置了明确的高度和宽度,则他们的最大值是有一个界限的.例如设置一个Rectangle的height为10,为width为100,那么将会得到10*10的图形. UniformToFill,控件的高度和宽度会对称的设置直到填充整个容器.例如设置一个Rectangle在一个100*200的容器中,那么则会得到一个200×200的控件大小,其他的部分则会被截取掉.如果设置了明确的高度和宽度,例如设置Rect 阅读全文
posted @ 2014-01-12 19:21 长白山 阅读(6421) 评论(2) 推荐(1) 编辑
摘要:VisualBrush是一种比较特殊的笔刷,它的功能仍然是用来给元素填充图案,但它的内容却可以是各种控件(换言之:它可以使用各种控件来给元素填充图案)。你可以将它理解为一个普通的容器,但在它内部的所有控件都会失去了交互能力,而只保留显示能力。 阅读全文
posted @ 2014-01-12 16:31 长白山 阅读(410) 评论(1) 推荐(1) 编辑
摘要:在使用委托时,若封装的方法无返回值,并且参数在0-7个,可考虑使用.Net4.0中的Action委托,建议使用系统自带的,减少自定义public delegate void Action(T obj); 阅读全文
posted @ 2014-01-10 17:26 长白山 阅读(229) 评论(0) 推荐(0) 编辑
摘要://通过使用默认的相等比较器(即纯粹的对象比较)确定序列是否包含指定的元素。public static bool Contains(this IEnumerable source, TSource value);//在source序列中,通过comparer比较器提供“比较规则”,确定由value对象提供“比较参数”的“source中的某个元素”是否存在:public static bool Contains(this IEnumerable source, TSource value, IEqualityComparer comparer);说明:value,它仅仅用于提供“比较参数”,这样 阅读全文
posted @ 2014-01-10 15:32 长白山 阅读(306) 评论(0) 推荐(0) 编辑
摘要:(1)若在类的内部不使用,只是在外部作为数据的“读写器”,那么可以使用如下C#3.0的简写方法: public string CallNo { get; set; } (2)若在类内部使用,在外部也使用,则建议使用传统的属性定义方式 privatePoliceForceGridViewModel gridDataSource = new PoliceForceGridViewModel(); public PoliceForceGridViewModel GridDataSource { get { return gridDataSource; } set {gridDataSource... 阅读全文
posted @ 2014-01-09 17:49 长白山 阅读(221) 评论(0) 推荐(0) 编辑
摘要:锁定的目的:由于多个线程 并行/并发 处理同一个“数据对象”(比如:在其它线程的某个地方发生了Clear、Add、Remove、Change等操作),导致“数据对象”不断变化,没法用了,所以,为了保证数据在某个计算时刻的“恒定”,使用排它锁将“数据对象”锁定,然后就视该“数据对象”为“一个恒定量”进行逻辑处理。 阅读全文
posted @ 2014-01-09 15:13 长白山 阅读(899) 评论(0) 推荐(0) 编辑
摘要:下面的 委托 兼容输入 参数T,并且 返回值类型为TResult 的 方法(即封装一个具有一个参数并返回TResult 参数指定的类型值的方法)public delegate TResult Func(T arg); 阅读全文
posted @ 2014-01-02 20:36 长白山 阅读(190) 评论(0) 推荐(0) 编辑
摘要:值类型(Struct(如:DateTime)、基本类型(如:double)、枚举类型)的TryParse方法,通常可使用该方法将“字符串”转换为当前类型,并out出。比如:日期格式的字符串 转换为 “ DateTime ” 类型 阅读全文
posted @ 2014-01-02 16:13 长白山 阅读(162) 评论(0) 推荐(0) 编辑
摘要:在项目中,遇到这种情况,总结随便如下:初始化时:添加操作,BeginInit{flag=true}警情是一条条加入的,全部都加入后,图表再一次性生成 EndInit{flag=false}新警情时:添加操作,加一条, {flag=false}更改一下“图表”,加n条,{flag=false}更改“n次图表”他们可能会使用同一个“Add”方法,但“初始化时”某些“功能代码” 不必 执行(尤其是对一些事件的引发要注意!),执行了反而带来麻烦,所以使用BeginInit{flag=true}来设置“标记”。上面这个符合C#的编程思想,很多控件在初始化时(尤其是ocx等COM组件在初始化时,在构造器中 阅读全文
posted @ 2014-01-01 21:36 长白山 阅读(2650) 评论(0) 推荐(0) 编辑

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