摘要:
一、WPF 绘画 WPF 可以绘制线段(Line)、矩形(Rectange)、椭圆(Ellipse)、路径(Path)。具体使用如下所示: <!--(1)线段:Line--> <Line X1="0" X2="380" Y1="0" Y2="0" Stroke="Tomato" StrokeThic 阅读全文
摘要:
一、前言 控件(Control)是数据内容表现形式和算法内容表现形式的双重载体。控件的数据内容表现形式让用户可以直观的看到数据,算法内容形式可以让用户方便的操作逻辑。作为“表现形式”,每个控件都是为了实现用户某种操作算法和直观展示某种数据而生。即控件由“算法内容”和“数据内容”所决定(内容决定形 阅读全文
摘要:
一、二进制资源 程序中的各种数据就是算法的原料和粮草。程序中的数据可以放在数据库里、变量里、程序主体之外的文件里。但保存在程序主体之外的文件里,由于外部文件和程序主体分离,容易造成文件丢失或损坏,为了解决此问题,编译器允许我们把外部文件编译进程序主体,称为程序不可分割的一部分,这就是传统意义上的 阅读全文
摘要:
一、System.Windows.Interactivity 的使用 对于 Button 等控件,在 MVVM 中我们能通过 Command 绑定解决 Click 事件,具体如下: <Button Margin="10" Height="50" Content="Clear" Command="{B 阅读全文
摘要:
一、前言 事件的作用是发布和传播一些消息,消息送达接收者,事件的使命也就完成了,至于消息响应者如何处理发送来的消息并不做规定,每个接收者可以使用自己的行为来响应事件。即事件不具有约束力。 命令就有约束力,不仅可以约束代码,还可以约束步骤逻辑。 二、WPF 的 命令系统 WPF 中,命令系 阅读全文
摘要:
一、消息驱动与直接事件模型 事件的前身是消息(Message)。Windows 是消息驱动的系统,运行其上的程序也遵循这个原则。消息的本质就是一条数据,这条消息里面包含着消息的类别,必要的时候还记载着一些消息参数。例如:当你在按下鼠标左键时,一条名为 WM_LBUTTONDOWN 的消息被生成并 阅读全文
摘要:
一、前言 WPF 中有两种“树”:逻辑树(Logical Tree)和可视化元素树(Visual Tree)。 Logical Tree 最显著的特点就是它完全由布局组件和控件组成。那么 Visual Tree 是什么呢? 如果我们仔细观察一棵树的树叶,会发现树叶的脉络也像一棵“树”——有自 阅读全文
摘要:
一、CLR 属性 程序的本质是“数据+算法”,或者说用算法来处理数据以期得到输出结果。在程序中,数据表现为各种各样的变量,算法则表现为各种各样的函数(操作符是函数的简记法)。 类的作用是把散落在程序中的变量和函数进行归档封装并控制它们的访问。被封装在类里的变量称为字段(Field),它表示的 阅读全文
摘要:
一、前言 有时候 UI 需要显示的信息由不止一个数据来源决定,这时候就需要使用 MultiBinding ,即多路 Binding。 MultiBinding 与 Binding 一样均以 BindingBase 为基类,因此,能使用 Binding 的地方都能够使用 MultiBindin 阅读全文
摘要:
一、前言 Binding 的作用就是架在 Source 和 Target 之间的桥梁,数据可以在这座桥梁的帮助下来流通。就像现实中的桥梁会设置一些关卡进行安检一样,Binding 这座桥上也可以设置关卡对数据的有效性进行校验。不仅如此,当两端要求使用不同的数据类型时,我们还可以为数据设置转换器。 阅读全文