随笔分类 - WPF
摘要:public class RowNumberColumn : GridViewDataColumn { public override System.Windows.FrameworkElement CreateCellElement(Telerik.Windows.Controls.GridView.GridViewCell cell, object dataI...
阅读全文
摘要:http://stackoverflow.com/questions/2444927/wpf-prism-canexecute-method-not-being-called It is most likely that the bound control is never asking for t
阅读全文
摘要:想要扩展该控件时发现PasswordBox是一个密封类,是不可继承的。故通过附加属性来实现该功能。声明了两个附加属性IsPasswordBindingEnabled:用来指示密码是否可用来绑定,当值发生改变时订阅或者取消订阅当Password改变时同步用于绑定的密码附加属性BindedPasswor...
阅读全文
摘要:增加系统托盘图标,并取消任务栏图标1.取消任务栏图标启动窗口设置ShowInTaskbar="False" 2.增加系统托盘图标新增SystemNotifyIcon类 /// /// 系统托盘图标 /// internal class SystemNotifyIco...
阅读全文
摘要:一个简单的下雪效果MainWindow:1.主界面通过DispatcherTimer给Grid生成雪花2.雪花飘落后再讲雪花从Grid容器中移除 public partial class MainWindow { public MainWindow() { ...
阅读全文
摘要:通过行为来实现实现界面与逻辑的分离窗口关闭行为:其中含有布尔型的Close属性,将相应的关闭行为绑定到该属性上,则可以实现窗口的关闭行为,从而实现VM与View的分离 public class WindowCloseBehaviour : Behavior { public s...
阅读全文
摘要:为什么后台绑定的值改变了前台不发生变化了?针对这个初学者很容易弄错的问题,这里介绍一下INotifyPropertyChanged的用法INotifyPropertyChanged:用于绑定属性更新 1 /// 2 /// 实体基类,实现了属性通知 3 /// 4 p...
阅读全文
摘要:[同步]InvokeApplication.Current.Dispatcher.Invoke(AutoIncreaseNumber);[异步]BeginInvokeApplication.Current.Dispatcher.BeginInvoke((Action)AutoIncreaseNumb...
阅读全文
摘要:1 /// 2 /// 获取指定类型的可视父对象 3 /// 4 /// 指定类型 5 /// 传入的对象 6 /// 7 public static T GetParentObjec...
阅读全文
摘要:Arrange过程概述普通基类属性对Arrange过程的影响我们知道Measure过程是在确定DesiredSize的大小,以便Arrange过程参考这个DesiredSize,确定给MyPanel分配多少空间,但是DesiredSize只是作为参考,在有些用例下,MyPanelParent在调用M...
阅读全文
摘要:前言在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重写MeasureOverride和ArrangeOverride两个方法,而这两个方法是WPF/SL的Layout系统提供给用户的自定义接口,因此,理解Lay...
阅读全文
摘要:看看效果: 一个中规中矩的实线框,如何改造成我们想要的虚线框哪? 第一个想到的就是修改Border的Brush,来看看这样的xaml: 看看效果图: 因为把Brush修改成斜线的渐变色(蓝色->透明->蓝色),因此总体上看起来就是个虚线,但是在圆角的效果取有些不怎么如意。 再换个思路,...
阅读全文
摘要:很多时候,我们会使用图片来装饰UI,比如作为控件背景等。而这些图片可以分为两种形式,即存在于本地文件系统中的图片和存在于内存中的图片对于这两种形式的图片,在WPF中,使用方法不同,下面主要说明针对这两种形式图片的使用方法一、存在于本地文件系统中的图片文件对于此类图片,使用非常简单,在xaml中直接指...
阅读全文
摘要:切换动画,相关的过渡动画,是淡入淡出的效果 private void Frame_Navigating(object sender, NavigatingCancelEventArgs e) { if (Content != null && !_allowDi...
阅读全文
摘要:装饰器是一种特殊类型的FrameworkElement,用于向用户提供可视化提示。对于其他用户,装饰器可用于将功能控点添加到元素中或提供有关控件的状态信息。
阅读全文
摘要:情景假设:绑定的是一个Point,当Point的X或者Y属性发生改变时,绑定的点也随界面改变此时界面不会发生改变原因:当X或者Y属性发生改变时并没有触发Point的Set方法 1 2 3 4 5 6...
阅读全文
摘要:输入事件的冒泡和隧道事件的处理顺序如下所示:针对根元素处理PreviewMouseDown(隧道)。针对中间元素 1 处理PreviewMouseDown(隧道)。针对源元素 2 处理PreviewMouseDown(隧道)。针对源元素 2 处理MouseDown(冒泡)。针对中间元素 1 处理Mo...
阅读全文
摘要:使用Blend制作PathAnimation1:选中Path转换为运动路径2:选择目标对象PathAnimation使用动态的PathPathAnimation动画在播放的时候,PahtGeometry是已经确定的,不会改变,不会实时的根据Path的改变动画进行调整,所以是不能进行绑定只有在每一次需...
阅读全文

浙公网安备 33010602011771号