Decorator 和 Adorner 它们都有“装饰品”的意思. Decorator类负责包装某个UI元素,以提供额外的行为.它有一个类型为UIElement的Child属性,其中含有待包装的内容.Decorator可被用于添加简单的视觉装饰,例如边界(Border),或者更复杂的行为,例如ViewBox,AdornerDecorator,或是InkPresenter. 当你从Decorator派生新类时,可以暴露一些有用的依赖属性来定制它.例如,Border类暴露它的BorderBrush,…
  简介 通常我们想对现有的控件,做些修饰时我们就会想到一个装饰模式.WPF中也提供了这样的实现思路:通过将Adorner添加到AdornerLayer中来实现装饰现有控件的效果.如图示:   本来TextBox四角没有圆点,但是通过装饰器可以为它加上.所以可以看成在TextBox上加了层.   这样就"无痛"的给控件进行了装饰(如果不想要,还可以随时拆掉,哈哈).当然应用不单单这样加几个点而已,修饰嘛比如拖动控件的修饰.   编程方式给指定UIElement添加装饰器 此示例演示如何…
引言 项目中有时需要在图片上标注热区,在HTML中有<area>标签,但在WPF中目前还没现成的控件来实现这这一功能.至于图片热区功能有道词典的[图解词典]是个不错的例子,如图1: 图 1 什么是Adorner? Adoner 是一个绑定到某个UIElement自定义的FrameWorkElemnt .Adoner被渲染在AdornerLayer,而AdornerLayer又被渲染在被装饰的Element或者Element集合上面.Adorner的渲染独立于它所装饰的UIElement.Ado…
1.  什么是Adorner 装饰器是一种特殊类型的FrameworkElement,可用来向用户提供可视提示. 装饰器有很多用途,可用来向元素添加功能句柄,或者提供有关某个控件的状态信息. 2.  使用Adorner实现Popup的原因 1. 通过AdornerLayer存在与独立的布局系统,不会与界面布局环论 2. 使用过WPF中的Popup就可以知道Popup中有许多的限制(例如需要实现某些效果比较麻烦) 3. 效果 4. 主要实现 1. Popup中当StaysOpen为False的情况…
引言 本文就WPF中的ListBox常用项给以实例代码演示,包括隐蔽属性的设置,Style设置,以及ControlTemplate的自定义.   Listbox平滑滚动 <ListBox ItemsSource="{Binding ActorList}" Width="300" ScrollViewer.CanContentScroll="False"/> 或者 <ListBox.Template> <Control…
标注 在许多地方我们都会用到标注,比如在画图中: 在Office中: 在Foxit Reader中: 在Blend中: 等等. 简介 以前,因项目上需要做标注,简单找了一下,没发现适合要求的控件(包括Blend中的标注,标注的两个点距离是固定的).所以自己简单的写了一个.后来又私下修改了几次,基本完成了圆角矩形的标注. 效果图如下: 对应的XAML代码如下: <local:CalloutDecorator Margin="5" AnchorOffsetX="150&qu…
以下转自: http://blog.csdn.net/qq1175421841/article/details/50312565 像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的核心那样,手势(gestures)是Kinect应用程序的核心.和图形用户界面中的数字交互不同,手势是现实生活中存在的动作.如果没有电脑我们就不需要鼠标,但是没了Kinect,手势依然存在.从另一方面讲,手势是日常生活中人与人之间相互交流的一部分.手势能够增强演讲的说服力,能够用来强调和传递情感.像…
基本手势追踪 手部追踪在技术上和手势识别不同,但是它和手势识别中用到的一些基本方法是一样的.在开发一个具体的手势控件之前,我们先建立一个可重用的追踪手部运动的类库以方便我们后续开发.这个手部追踪类库包含一个以动态光标显示的可视化反馈机制.手部追踪和手势控件之间的交互高度松耦合. 首先在Visual Studio中创建一个WPF控件类库项目.然后添加四个类: KinectCursorEventArgs.cs,KinectInput.cs,CusrorAdorner.cs和KinectCursorM…
说到装饰,不由要说到女性. 去年过年回家给我妈买了周大福项链,很明显就感觉待遇就不一样了,即使这样,还是被一个阿姨说应该买更重点的.看来钱这种东西果然是多一点才好.虽然自己无所谓,但让家里人更开心也是一种幸福啊.女朋友也很喜欢手链什么的,戴上手链气质的确会感觉挺不同的,我觉得这世界基本没有女生不喜欢身上装饰个神马的. 装饰不是衣服,也不会影响自己本来的搭配,它是一种在原本基础上锦上添花却不会影响原本结构的东西. 言归正传,假若你有个女朋友叫WPF,她有自己喜欢的搭配,当你追到她的时候她已经搭配好…
原文:WPF进阶教程 - 使用Decorator自定义带三角形的边框 写下来,备忘. Decorator,有装饰器.装饰品的意思,很容易让人联想到设计模式里面的装饰器模式.Decorator类负责包装某个UI元素,用来提供额外的行为.它有一个类型为UIElement的Child属性,其中含有待包装的内容.Decorator可以被用于添加简单的视觉装饰,比如Border边框,或者更为复杂的行为,比如ViewBox.AdornerDecorator.        当我们继承Decorator时,也…