WPF
文章平均质量分 78
yangwenxue1989
这个作者很懒,什么都没留下…
展开
-
WPF教程(二)Binding
wpf基础原创 2022-07-25 13:43:10 · 1003 阅读 · 1 评论 -
WPF入门教程(十六)命名空间XAML
我们通常能看到xaml文件开头有一个类似http协议的字串,因为是自动生成,也没太在乎。但是在迁移引用第三方控件的项目时,往往会因此而引发一些错误,我们来看看这些http字串到底表示着什么?<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006...转载 2018-12-04 19:05:31 · 1326 阅读 · 0 评论 -
WPF教程(十一)模板入门一
在前面一篇我们粗略说了Style,如果要自定义一个个性十足的控件,仅仅依靠样式和行为是不行的,他们只能通过控件的既有属性来简单改变外观,还需要有ControlTemplate来彻底定制,这是改变Control的呈现,也可以通过DataTemplate来改变Data的呈现,对于ItemsControl,还可以通过ItemsPanelTemplate来改变Items容器的呈现。从上段文字可以总结出...转载 2018-09-21 17:30:57 · 1208 阅读 · 0 评论 -
WPF教程(十三)路由事件
属性系统在WPF中得到升级、进化为依赖属性。事件系统在WPF中也被升级进化成为路由事件(Routed Event),并在其基础上衍生出命令传递机制。路由事件是一种可以针对元素树中的多个侦听器而不是仅仅针对引发该事件的对象调用处理程序的事件。路由事件与一般事件(CLR)的区别在于:路由事件是一种用于元素树的事件,当路由事件触发后,它可以向上或向下遍历可视树和逻辑树,他用一种简单而持久的方式在每个...转载 2018-09-26 16:29:25 · 959 阅读 · 0 评论 -
WPF教程(十四)命令
命令这东西很有意思,简明一点说,它是一种逻辑,但这种逻辑可以被多种源调用,可以作用于多种目标上。如我们常见的"复制","剪切"等命令,它们本身就是一种逻辑——对剪切板进行操作的逻辑行为,不过,你会发现,它们不仅可以在菜单项中使用,也可以在工具栏按钮上使用,也可以通过快捷键Ctrl + C等来调用。(一)命令模型命令(Command):WPF的命令实际上就是实现了ICommand接口的类,平...转载 2018-09-26 13:40:55 · 921 阅读 · 0 评论 -
WPF教程(十五)MVVM框架
作者本人以前是做C++的,当然很顺利的进入到WinForm,这也让我基本没有View-Model思维。学习WPF说白点也是因为其强大的UI,其实我忽视了很重要的一点,直到接触了MVVM框架,其实Web前后端开发已经指明了未来编程趋势,各干各的:完美的前段和强劲的后端,个人是这么认为的。WPF是微软视其为下一代用户界面技术,XAML的使用就是为了降低耦合度。那么我们不得不说说WinForm和WP......原创 2018-09-26 13:33:54 · 9071 阅读 · 2 评论 -
WPF教程(九)样式入门二
在我看来,WPF的Trigger是一个非常聪明的设计,Winform要大量的代码才绘出的皮肤,在这里轻松就能搞定。但我也不是鄙视Winform,它也有自己的优势,抛开界面美化,在一些控件的使用上,明显比WPF好用,就拿DateTimePicker控件,一个能具体到小时,一个只有日期。我坚信存在即合理,各有用处。言归正传,触发器,是System.Windows.TriggerBase的派生类的实...转载 2018-09-13 15:15:17 · 977 阅读 · 0 评论 -
WPF教程(四)RelativeSource属性
我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding的RelativeSource进行绑定,这种办法的意思是指当前元素和绑定源的位置关系。(1)控件关联自身的属性——Self<Window x:Class="RelativeSource...转载 2018-08-13 15:11:56 · 20577 阅读 · 1 评论 -
WPF教程(五)资源(StaticResource 静态资源、DynamicResource 动态资源)
(一)基础知识静态资源(Static Resource),动态资源(Dynamic Resources)。这两者的区别是:静态资源在第一次编译后即确定其对象或值,之后不能对其进行修改。动态资源则是在运行时决定,当运行过程中真正需要时,才到资源目标中查找其值。因此,我们可以动态地修改它。由于动态资源的运行时才能确定其值,因此效率比静态资源要低。动态修改,是两种资源最显著的差异,也是极其重要的......原创 2018-08-03 14:28:08 · 14217 阅读 · 0 评论 -
WPF教程(一)CLR属性和依赖属性
CLR(Common Language Running)属性,本质是将一个类中的字段进行封装,以达到控制字段获取以及赋值的目的。如下面的Student类,作为一个学生,年龄显然不能为负数如果想要对age这一字段进行限制,我们可以采用CLR属性进行如下改写。public class Student { public int id; public str...原创 2018-08-02 19:45:38 · 1562 阅读 · 1 评论 -
WPF教程(七)其它资源
资源字典出现的初衷就在于可以实现多个项目之间的共享资源,资源字典只是一个简单的XAML文档,该文档除了存储希望使用的资源之外,不做任何其它的事情。创建资源字典的过程比较简单,只是将需要使用的资源全都包含在一个xaml文件之中即可。在项目右击选择添加新建项,选中资源词典(WPF)就完成一个.xaml后缀的资源字典文件,我们看下面一个简单的引用例子。<ResourceDictionar...转载 2018-08-07 15:16:58 · 3631 阅读 · 0 评论 -
WPF教程(三)UpdateSourceTrigger属性
在前面的文章我们看到,TextBox中的变化并不是立即传递到源,而是在TextBox失去焦点后,源才更新。这种表现由绑定中的UpdateSourceTrigger属性来控制。它的默认值是Default,源会根据你绑定的属性来更新。写这篇文章的时候,除了Text属性之外的所有属性,源会随属性的改变而立即更新。Text属性不一样,它只有在目标元素失焦后才更新。UpdateSourceTrigger...转载 2018-08-02 10:16:46 · 5141 阅读 · 2 评论 -
WPF教程(六)二进制资源
WPF除了上节静态资源和动态资源,还有其它类型资源。学会如何添加使用会让我们编程变得更加游刃有余。二进制资源其实是一些传统的资源项,比如位图,音频文件,视频文件,松散文件(LooseFile)等等。对于这些资源项我们可以将其存储为松散文件,或者编译进程序集中。如何向程序集添加二进制文件,先讲讲添加字符串二进制文件,步骤如下:(1)点击Resources.resx;(2)添加字段;(3...............原创 2018-08-06 20:36:51 · 6772 阅读 · 0 评论 -
WPF教程(八)样式入门一
样式是我认为WPF中一块极为重要的知识,也体现该种框架比较厉害之处:(1)UI设计与动画方面的炫丽;(2)XMAL代码的引入使得代码的编写能够前后端分离,这种都是传统界面框架都不能比拟的,比如Winform、C++的MFC。我认为这是微软向当前We前端开发模式的学习,WPF是过渡的框架。当然,这些都是题外话。WPF的样式是非常强大的,除了与HTML标记中的CSS类似,它还能够支持触发器(Tri...转载 2018-08-10 13:39:44 · 3194 阅读 · 0 评论