随笔分类 - WPF 技巧
摘要:错误的截图: 一开始以为是MVVM绑定的代码中出现了问题,但是通过断点追踪并没有发现问题。 通过通过VS的实时可视化树发现问题:切换Item时Adorner会在AdornerLayer直接消失。届时怀疑是AdornerDecorator的问题。 最终解决办法是 在TabItem的内容的最上层放置Ad
阅读全文
摘要:解决此问题,需要一定的想象力。 换个思路即可 大体是 使用Tag或者别无用的可以输入数值的属性,或者附加属性也可以的。来绑定到你要动画的属性 当然这个过程中要使用转换器了 我给出一个关于Button 的Width的内部模板小栗子,各位朋友可以针对自己的项目/控件进行修改 XAML代码 转换器 截图
阅读全文
摘要:在很多地方需要用上INotifyPropertyChanged的接口,MVVM模式,List等集合都会用到。 通常我们使用 不过可以 使用特性来减少代码量 CallerMemberName可以代替手工输入名称
阅读全文
摘要:无边框之后的拖动方法有三种。 我个人是喜欢第一和第三的方法,看个人去需求。 第三种代码比较仓促,有需要者可以立马用,或者稍作整理修改。 对于WIN10 .NET 4.5以上的框架可以使用 WIndowChrome 其次是 通过DragMove方法来控制移动 此方法需要写在事件内,比如鼠标事件等 不过
阅读全文
摘要:当WindwoStyle为None时 窗口会出现边框,不会完全覆盖窗口 修改办法: 使用AllowsTransparency="True"即可
阅读全文
摘要:ItemContainerStyleSelector是容器Style选择器 用法和ItemTemplateSelector差不多 同样也是也是继承类 StyleSelector,也是重写方法SelectStyle,参数都是一样的,一是数据,二是数据对象。返回值则是Style,默认值则是Null XA
阅读全文
摘要:ItemTemplateSelector的中文翻译是模板选择器 是用来选择模板。 他的用法稍有不同,他必须派生于DataTemplateSelector类。 然后重写SelectTemplate这个方法,方法内由两个参数,一是对象所绑定的数据,二是你绑定的元素。方法有返回类型为DataTemplat
阅读全文
摘要:如果设置Template的动画,也就意味着对每一个具有此Template的对象进行动画处理。 比如对ListBoxI的ItemTemplate进行设置,添加动画,触发器等,每一个ListBoxItem都具由同等操作。 这里面说的操作均是对Item的整体,而不是内部的席位操作。 比如说是Item的放大
阅读全文
摘要:效果图 实现此效果的必要关键是 Style+DataTemplate 关键代码: 通过Style中的Setter来引入模板。 模板中则是CheckBox。 这样一来,DataGrid中的数据行的复选框也都可以触发事件了。 那么,在头部中的复选框则是使用修改DataGridCheckBoxColumn
阅读全文