随笔分类 -  WPF 技巧

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