随笔分类 -  Behavior

Silverlight-TabControl扩展
摘要:TabControl是平常用的比较多的布局控件,虽然它是继承自ItemsControl,但是它的ItemsSource实在是很不好用,谁用谁知道。prism里为TabControl提供了TabControlRegionAdapter和TabControlRegionSyncBehavior,参考其部分实现方式让我们也来实现个TabControl的扩展来更好的MVVM。看代码: public class TabControlExtensions { public static IEnumerable GetItemsSource(DependencyObject d) { return (IEn 阅读全文

posted @ 2011-06-28 22:57 超时空饭盒 阅读(2473) 评论(8) 推荐(0)

Silverlight4-Behavior-TextBlock竖直排列文字行为
摘要:对于TextBlock我们有时候需要竖直排列它的文字内容。设置TextBlock的显示内容有两种方式,一是设置它的Text属性,二是往它的InlineCollection里添加内容。可以发现我们能同时设置Text属性,并添加InlineCollection信息,但最后显示的会是InlineCollection里的信息,并且不会对Text属性的值产生影响。那么我们是否可以把文本值赋给Text属性,然后再获取相关值并在InlineCollection里进行竖直设置呢。那么我们需要获取TextBlock的TextChanged事件,可惜这个事件并不存在。 public class VerticalT 阅读全文

posted @ 2011-06-26 21:50 超时空饭盒 阅读(2462) 评论(1) 推荐(0)

Silverlight4-Behavior-NumericUpDown自动小数位数行为
摘要:NumericUpDown应该是平常用的比较多的控件了,省去了用TextBox时验证是否是数字等一系列麻烦的事。其允许设置一个小数位数以格式化显示出来的数据,虽然最终获取的Value值和这个小数位没关系,比如在控件中输入3.1415926,如果设了小数位数是2,那么显示的会是3.14,而实际获取的Value还是等于3.1415926。可惜小数位数只能设置为0-15之间的一个准确的整数,而我们的用户也请不一定知道其中的奥妙,他们只想输入多少显示多少。那就添加个行为,用于在用户输入值的时候自动改变设定的小数位数。代码如下: public class AutoDecimalPlacesBehavio 阅读全文

posted @ 2011-06-23 22:21 超时空饭盒 阅读(1502) 评论(0) 推荐(0)

Silverlight4-Behavior-即时更新绑定的Password行为。
摘要:一些平常用到的行为,慢慢整理下。从最简单的开始。TextBox默认的更新行为是在失去焦点时进行的,为了方便在输入框的值发生变化时就即时更新,在Prism里就提供了即时更新绑定的Text的行为,叫做“UpdateTextBindingOnPropertyChanged”。同样的事也发生在PasswordBox里,有时候在绑定Password的时候也需要即时更新输入的绑定值,那么参考这个行为随便写个。整个代码也非常简单,如下: 1 public class UpdatePasswordBindingOnPropertyChanged : Behavior<PasswordBox> 2 阅读全文

posted @ 2011-06-22 20:40 超时空饭盒 阅读(466) 评论(0) 推荐(0)