继续聊WPF】的更多相关文章

千万不要认为WPF中的数据绑定会很复杂,尽管它的确比Winform程序灵活多了,但其本质是不变的,特别是ComboBox控件,我们知道在Winform中对该控件的有两个专为数据绑定而设定的属性——DisplayMenber和ValueMenber,分别绑定用于显示和用于存放用户选择值两个字段,最典型的应用类似于key-value形式的数据字段,如学生表中的学号(ID)和学生姓名. 其实,在WPF中原理都是一样的,来,我们一起动手玩玩. 如何新建应用程序就不用介绍了,省略33个字. 在窗口中拖放一…
在WPF中获Listview中选中的项,与WinForm里面有着很大的区别,要亲身去研究一下在WPF中如果处理,其实也不难,来,下面我们一起来通过一个简单的示例来感悟一下吧. 第一步就是建立一个WPF应用程序项目,这个不用描述了,节省了31个字. 第二步,为了实现数据绑定,先写一个简单的员工类,包含三个属性——姓名.年龄.城市. public class Emp { public string Name { get; set; } public int Age { get; set; } pub…
下面看一个Tick控件的例子,这只是演示,Tick单独使用没有意义. <TickBar Height="15" Width="180" Ticks="10,35,50,70" Maximum="100" Minimum="0" Fill="DarkMagenta" Placement="Top" /> 好了,现在我们可以自定义一个Slider,这个例子是水…
我为啥称之为“动态数据模板”?先看看下面的截图,今天,我们就是要实现这种功能. 大概是这样的,我们定义的DataTemplate是通过触发器动态应用到 ComboBoxItem 上. 这个下拉列表控件绑定了一个Person集合,Person类的定义如下: public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } publ…
我很奇怪的是,微软那厮是怎么搞的,Blend里面居然不能编辑GridView的样式,十万般无奈之下,只好手写XAML来处理了. 要想知道一个控件的样式是如何设置,看控件类的定义很重要,我们来看看GridView是如何定义的: [StyleTypedPropertyAttribute(Property = "ColumnHeaderContainerStyle", StyleTargetType = typeof(GridViewColumnHeader))][ContentProper…
这个控件,真不好介绍,MSDN上也是草草几句,反正就是可以让用户拖动的玩意儿,但是,你会发现,当你在该控件上拖动时,它没有反响,也就是说这个东西默认不做任何操作的,它是赖在那里什么都不干,除非你去踢上脚. 而且,这个控件就像一个四方鸭,你踢一脚它就前进一步,你不踢,它又在那里尸位素餐,什么都不干了.   还是用一个例子来说明吧,不过,还是先说一下重要的东西. Thumb有几个核心事件,都是与拖动有关. 往深一层想,它是什么?对,就是我们常见的滚动条里面的滑块,就是我们在网格里面可以拖动的分隔线,…
上一篇文章中谈到了BulletDecorator控件,就是为自定义CheckBox控件的模板做准备,因为CheckBox需要比较严格的布局,正好,BulletDecorator控件就合适了,该控件的布局是有项目列表,排列起来好办很多了.   第一步,先建立一项资源,就是控件的聚焦样式,即当你在窗体中不断按Tab键使控件获取焦点时的样式,后面要用到. <!--当控件获得键盘焦点时的样式--> <Style x:Key="FocusStyle"> <Sette…
ProgressBar控件与传统WinForm使用方法完全一样,我们只需关注: Minimum——最小值,默认为0: Maximum——最大值,默认为100. Value——当前值.   关键是它的控件模板,因为系统的默认主题不好看,很多时候我们是需要自定义样式和模板. 老方法,先看定义: <span style="font-size:16px;">[TemplatePartAttribute(Name = "PART_Track", Type = ty…
这个控件最实用的地方,就是做导航栏. <StackPanel Margin="20,20" Width="100" Height="460" HorizontalAlignment="Left" VerticalAlignment="Top"> <Expander VerticalAlignment="Stretch" ExpandDirection="Dow…
<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" xmlns:c="clr-namespace:Wpf_GridHeaderStyle_…