摘要: 第一次听到这个概念,你是否有点陌生?MSDN上也没有特意的去说明。不要看到这个名词不太熟悉,其实数据批示,玩过C#的人都会非常熟悉,所谓数据批示,其本质就是特性(Attribute),怎么样,现在有点似曾相识了吧? Attribute可以附加在命名空间、类,以及成员定义上的一种“特殊描述”,如下所示,这种标志枚举相信大家在使用COM互操作性或者引入平台API的时候用得很多了。特性在使用的时候,可以忽略“Attribute”,如上面的,可以写成Flags。 Silverlight(银光)中的“数据批示”概念现在不陌生了,那么,它为何要叫数据批示呢?因为这些特性类都是用于定义实体类的元数据的,它很 阅读全文
posted @ 2011-12-09 07:55 东邪独孤 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 用DataGrid进行数据验证,一句话:太简单了,为什么?因为它自身已经具备了很完善的数据验证功能。好,说多无益,最好的办法,来,写个例子试试。老规矩,先准备点数据来测试,既然要数据验证,就不能全弄字符串的,弄点整型的,日期型的,这样就有利于演示。 public class Employee { public string Name { get; set; } public int Age { get; set; } public DateTime Birthday { get; set; } }该类声明三个属性,分别是字符串,整型,... 阅读全文
posted @ 2011-12-08 08:29 东邪独孤 阅读(283) 评论(0) 推荐(0) 编辑
摘要: Slider控件,讲行通俗一点就是我们很常见的滑块,控件的外观上显示一系例刻度值,并存在一个可以被拖动的滑块,用户可以通过拖动滑块来控制控件的值。如下图所示,是Windows系统的音量调节滑块。下图所示为QQ音频聊天设置窗口中的音量调节滑块。这样,我们就以很直观的方式认识了Slider控件。接下来看看该控件的构成:然后,查看Slider类的定义,从中找出主体部分。[LocalizabilityAttribute(LocalizationCategory.Ignore)][TemplatePartAttribute(Name = "PART_SelectionRange", 阅读全文
posted @ 2011-11-21 20:30 东邪独孤 阅读(1247) 评论(0) 推荐(1) 编辑
摘要: 关键点:Track控件没有默认模板,它包括三个部分DecreaseRepeatButton——这是一个RepeatButton即滑块左(上)的部分;IncreaseRepeatButton——同上,即滑块右(下)部分;Thumb——很明显了,这是拖动的滑块,请参考前面的文章。<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.mi 阅读全文
posted @ 2011-11-21 20:21 东邪独孤 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 关键点:要设置ListView的行样式,设置Listview的ItemContainerStyle属性,但在本例中,由于我把样式应用于所有的ListViewItem,故不用设置该属性。<Window x:Class="Wpf_GridHeaderStyle_sample.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x 阅读全文
posted @ 2011-11-17 22:09 东邪独孤 阅读(744) 评论(0) 推荐(1) 编辑
摘要: 上一篇文章简单说了一下Expander控件,本文将编写一个自义模板的Expander控件,如下图所示:<Window x:Class="Expander_Sample2.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Wid 阅读全文
posted @ 2011-11-17 21:55 东邪独孤 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 欢迎加入.NET技术交流群:189931386Expander是一个可以展开和折叠的控件,它包含两部分——标头和内容。标头通Header属性来设置,内容通过Conent属性设置,如下面一个简单的例子: <Expander ExpandDirection="Down" Width="96"> <Expander.Header> <TextBlock Text="标题" FontWeight="Bold"/> </Expander.Header> <Expander 阅读全文
posted @ 2011-11-14 21:33 东邪独孤 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章中谈到了BulletDecorator控件,就是为自定义CheckBox控件的模板做准备,因为CheckBox需要比较严格的布局,正好,BulletDecorator控件就合适了,该控件的布局是有项目列表,排列起来好办很多了。第一步,先建立一项资源,就是控件的聚焦样式,即当你在窗体中不断按Tab键使控件获取焦点时的样式,后面要用到。 <!--当控件获得键盘焦点时的样式--> <Style x:Key="FocusStyle"> <Setter Property="Control.Template"> < 阅读全文
posted @ 2011-11-13 21:04 东邪独孤 阅读(388) 评论(0) 推荐(1) 编辑
摘要: 这是一个很简单的控件,无非就是控制项目的布局方式,其布局方式只有两种:从左到右,从右到左。一、从左到右二、从右到左布局方向由FlowDirection属性来决定,所以我说这个控件非常简单上面的截图的XAML如下: <BulletDecorator HorizontalAlignment="Center" Background="#AACC01" VerticalAlignment="Center" Height="21" Width="76" FlowDirection="Rig 阅读全文
posted @ 2011-11-13 11:58 东邪独孤 阅读(1553) 评论(0) 推荐(0) 编辑
摘要: ProgressBar控件与传统WinForm使用方法完全一样,我们只需关注:Minimum——最小值,默认为0;Maximum——最大值,默认为100.Value——当前值。关键是它的控件模板,因为系统的默认主题不好看,很多时候我们是需要自定义样式和模板。老方法,先看定义:[TemplatePartAttribute(Name = "PART_Track", Type = typeof(FrameworkElement))][TemplatePartAttribute(Name = "PART_Indicator", Type = typeof(Fra 阅读全文
posted @ 2011-11-12 21:59 东邪独孤 阅读(467) 评论(0) 推荐(0) 编辑