随笔分类 -  WPF

摘要:4. 属性触发器 使用触发器,可以动态修改控件的外观和操作方式,因为一些事件或属性值改变了。例如用户在按钮上移动鼠标,按钮就会改变其外观。通常,这必须在C#代码中实现,但使用WPF也可以用XAML实现,而这只会影响UI。 下面首先介绍属性触发器 Style类中有一个Triggers属性,通过它可以指 阅读全文
posted @ 2016-06-19 11:15 幽弥狂233 阅读(742) 评论(0) 推荐(0)
摘要:WinForm中调用WPF控件 在WinForm中可以使用WPF中的控件,或者由WPF创建的自定义控件; 步骤1:创建WinForm工程; 步骤2:在WinForm工程的解决方案资源管理器中,在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程; 步骤3:在WPF中创建自定义的控 阅读全文
posted @ 2016-06-19 11:14 幽弥狂233 阅读(5352) 评论(0) 推荐(0)
摘要:路由事件的处理模型常用的有两种: 冒泡事件: 由子控件位次向父容器传递,大部分的路由事件都是冒泡事件 隧道事件: 由父容器位次向其子容器、控件传递,一般PreXXX事件属性隧道事件下面提供键盘事件和鼠标事件键盘的隧道事件 ... 阅读全文
posted @ 2016-01-21 16:42 幽弥狂233 阅读(263) 评论(0) 推荐(0)
摘要:创建用户控件可以在项目里右键添加用户控件,用户控件可以解决系统没有这个控件自己可以特定制作这个控件供自己项目中使用 或者 如果很多地方用到某到模块,就可以把这个模块封装成用户控件供多出调用 下面创建一个用户控件: ... 阅读全文
posted @ 2016-01-06 09:20 幽弥狂233 阅读(174) 评论(0) 推荐(0)
摘要:资源 从样式示例可以看出,样式通常存储在资源中。可以在资源中定义任意元素,例如,前面从按钮的背景样式创建了笔刷,它本身就可以定义为一个资源,这样就可以在需要笔刷的地方使用它了。 下面的示例在StackPanel资源中定义了LinearGradientBrush,它的键名是MyGradientBr... 阅读全文
posted @ 2016-01-06 09:19 幽弥狂233 阅读(196) 评论(0) 推荐(0)
摘要:数据绑定是一种历经时间考验的传统方式,做法是从对象提取信息,并在应用程序的用户界面中显示提取信息,不用编写枯燥的代码就可以完成所有功能。富客户端通常使用双向数据绑定,这种数据绑定提供了从用户界面向一些对象退出信息的能力—同样,不需要或者几乎不需要编写代码。使用自定义对象绑定到数据库首先定义一个B... 阅读全文
posted @ 2016-01-03 19:47 幽弥狂233 阅读(171) 评论(0) 推荐(1)
摘要:前面讲依赖项属性的时候说过,依赖项具有内置的更改通知的支持,依赖项属性的一个特性就是数据绑定本章谈谈数据绑定。 简单第说,数据绑定是一种关系, 该关系告诉WPF从源对象提取一些信息,并用这些信息设置目标对象的属性。 目标属性始终是依赖项属性,通常位于WPF元素中—毕竟,WPF数据绑定的最终目... 阅读全文
posted @ 2015-12-31 10:03 幽弥狂233 阅读(238) 评论(0) 推荐(1)
摘要:Window可以只包含一个元素,作为其内容。如果要在其中包含多个元素,就可以将StackPanel用作Window的一个子元素,并在StackPanel的内容中添加元素。StackPanel是一个简单的容器控件,只能逐个排序地显示元素。StackPanel的方向可以是水平或垂直。 ... 阅读全文
posted @ 2015-12-28 14:55 幽弥狂233 阅读(572) 评论(0) 推荐(1)
摘要:使用Grid,可以在行和列中排列控件。 对于每一列,可以指定一个ColumnDefinition;对于每一行,可以指定一个RowDefinition。 下面的示例代码显示两列和三行。 在每一列和每一行中,都可以指定宽度或高度。 ColumnDefinition有一个Width依赖属性,R... 阅读全文
posted @ 2015-12-28 14:54 幽弥狂233 阅读(309) 评论(0) 推荐(1)
摘要:Canvas是一个允许制定控件位置的面板.它定义了相关的Left,Right,Top和Bottom属性,这些属性可以由子元素在面板中定位时使用。 Enter here: 阅读全文
posted @ 2015-12-28 14:54 幽弥狂233 阅读(120) 评论(0) 推荐(0)
摘要:WrapPanel将子元素自左向右逐个地排列, 若一个水平行中放不下,就排在下一行。面板的方向可以是水平或垂直的 ButtonA ButtonB ButtonC ButtonD ButtonE ButtonF... 阅读全文
posted @ 2015-12-28 14:54 幽弥狂233 阅读(477) 评论(0) 推荐(0)
摘要:DockPanel非常类似于Windows窗体的停靠功能。DockPanel可以指定排列子控件的区域。DockPanel定义了相关的Dock属性, 可以在控件的子控件中将它设置为Left,Right,Top和Bottom。显示了排列在DockPanel中的带边框的文本框。为了便于区别,为不同的区域指... 阅读全文
posted @ 2015-12-28 14:54 幽弥狂233 阅读(526) 评论(0) 推荐(0)
摘要:前面介绍过,Button控件可以包含任何内容,例如简单的文本,还可以给按钮添加一个Canvas元素,Canvas元素可以包含图形。也可以给按钮添加Grid,视频。按钮还可以完成更多的操作。 控件的外观,操作方式及其功能在WPF中是完全分离的。按钮有默认的外观,但可以用模版完全定制其外观... 阅读全文
posted @ 2015-12-24 21:03 幽弥狂233 阅读(286) 评论(0) 推荐(1)
摘要:列表框元素包含ListBoxItem。使用ItemTemplate可以定义列表项的内容。 样式listBoxStyle定义了一个ItemTemplate,其值为DataTemplate。DataTemplate用于数据绑定到元素上。Binding标记扩展可以用于DataTemplate元素。 ... 阅读全文
posted @ 2015-12-24 21:03 幽弥狂233 阅读(212) 评论(0) 推荐(0)
摘要:添加资源图片后 在WPF XAML中调用图片 会提示警告"文件Resources/win8.png 不是项目的一部分或其"生成操作"属性未设置为"资源" ". 将”win8.png“图片的属性改为 复制到输出目录:始终复制 生成操作:内容 阅读全文
posted @ 2015-12-23 22:27 幽弥狂233 阅读(415) 评论(0) 推荐(0)
摘要:设置Button元素的FontSize和Background属性,就可以定义WPF元素的外观和操作方式如下所示: Click Me! 除了定义每个元素的外观和操作方式之外,还可以定义用... 阅读全文
posted @ 2015-12-22 21:53 幽弥狂233 阅读(405) 评论(0) 推荐(1)
摘要:在为元素设置值时, 可以直接设置值, 但有时标记扩展非常有帮助。标记扩展包含花括号,其后是定义了标记扩展类型的字符串标志。 下面是一个Static Resource标记扩展:除了使用标记扩展之外,还可以使用子元素编写相同功能的代码: 阅读全文
posted @ 2015-12-20 21:57 幽弥狂233 阅读(241) 评论(0) 推荐(1)
摘要:3.依赖属性 在用WPF编程时,常常会遇到"依赖属性"这个术语。WPF元素是带有方法,属性和事件的类。WPF元素的几乎每个属性都是依赖属性, 这是什么意思?依赖属性可以依赖其他输入,例如主题和用户喜好。依赖属性与数据绑定,动画,资源和样式一起使用 前面我们说过WPF的体系结构,只有派生... 阅读全文
posted @ 2015-12-20 18:44 幽弥狂233 阅读(212) 评论(0) 推荐(0)
摘要:WPF元素也可以从父元素中获得特性。例如,如果Button元素为了Canvas元素中,按钮的Top和Lef属性把父元素的名称作为前缀。这种属性成为附带属性: Click Me 在后台代码中编写相同的功能有点不同,因为Button类没有C... 阅读全文
posted @ 2015-12-20 18:44 幽弥狂233 阅读(196) 评论(0) 推荐(0)
摘要:WPF是类似微软的WinForm和ASP.NET结合WPF使用XAML作为界面编辑语言,后台语言可以使用C#或VB.NETXAML是一种声明性标记语言,XAML(XML for Application Markup Language)是一种XML语法,用于定义用户界面的层级结构。下面的代码定义了一个... 阅读全文
posted @ 2015-12-20 15:09 幽弥狂233 阅读(277) 评论(0) 推荐(0)