WPF中mode的5种绑定模式:
WPF的绑定模式中mode是枚举,枚举值共有5个
1:OneWay(源变就更新目标属性)
2:TwoWay(源变就更新目标并且目标变就更新源)
3:OneTime(只根据源来设置目标,以后都不会变)
4:OneWayToSource(与OneWay相反)
5:Default(可以单向或双向,是靠被值定的源或目标是否有get或set来指定的)
例如:
<Canvas>
<ScrollBar Height="24" Name="scrollBar1" Width="237"
Orientation=“Horizontal” Canvas.Left=“103” Canvas.Top=“51” Minimum=“1”
Maximum=“100” SmallChange=“1” />
事件系统在WPF中被升级进化称为路由事件(Routed Event),并在其基础上衍 生出命令传递机制。这些机制很大程度上减少了对程序员的束缚,让程序的设计和实现更加灵活,模块之间的耦合度也进一步降低。
事件的处理方式:
冒泡:是WPF路由事件中最为常见,它表示事件从源元素扩散(传播)到可视树,直到它被处理或到 达根元素。这样您就可以针对源元素的上方层级对象处理事件。例如,您可向嵌入的 Grid 元素附加一个 Button.Click 处理程序,而不是直接将其附加到按钮本身。气泡事件有指示其操作的名称(例如, MouseDown)。
隧道:采用另一种方式,从根元素开始,向下遍历元素树,直到被处理或到达事件的源元素。这样上 游元素就可以在事件到达源元素之前先行截取并进行处理。根据命名惯例,隧道事件带有前缀 Preview(例如 PreviewMouseDown)。
直接: 只有源元素本身才有机会调用处理程序以进行响应。 这类似于 Windows 窗 体用于事件的 “路由”。 但是,与标准 CLR 事件不同,直接路由事件支持类处理 (类 处理将在下一节中介绍) 并可由 EventSetter 和使用 EventTrigger 。
区别:冒泡事件:在YesTB上点击,首先弹出“TextBlock”,再弹出“panel”。 预览事件(隧道事件)事件:在YesTB上点击,首先弹出“panel”,再弹出“TextBlock”
资源字典分类
WPF应用程序中,XAML资源分为StaticResource静态资源和DynamicResource动态资源,Windows8应用中,XAML资源仅支持StaticResource静态资源,资源应用域不同,XAML资源可分为FrameworkElement.Resources和 Application.Resources
FrameworkElement.Resources是将资源对象应用于同一个对象数的不同对象上,称之为页面资源,通常被定义在XAML页面根元素上。
Application.Resources是贯穿整个应用级别的资源,通常被定义在App.xaml页面