INotifyPropertyChanged:如果是类实例里的属性更改需要触发XAML改变,则该类需实现INotifyPropertyChanged接口。
ObservableCollection和List对比:ObservableCollection更耗性能;ObservableCollection实现了INotifyCollectionChanged、INotifyPropertyChanged接口,集合里每一条数据增删,都能触发改变。
BindingMode的OneTime、OneWay、TwoWay:OneTime性能较高,字段只需一次性设置则最好设置BindingMode为OneTime。
属性触发器:当依赖属性的值改变时调用。
数据触发器:当.Net普通属性的值改变时调用;监听其他控件的属性值改变时调用。
- https://www.cnblogs.com/sirkevin/archive/2012/10/08/2715036.html
- https://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/
事件触发器:指定的路由事件启动一组动作,永无终止。
- https://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/
- https://docs.microsoft.com/en-us/dotnet/api/system.windows.eventtrigger?view=netframework-4.8。
多触发器和多数据触发器:满足多个条件时,改变属性或行为。
控件模板:自定义控件的外观,相对Style,可以实现更高程度的改变。
数据模板:控制数据的显示方式。
面板模板:自定义存放item的容器,控制item的排序方式。
层级模板:针对层级数据结构设计,每一个层级上都可以做DataTemplate。使用控件:TreeViewItem、MenuItem。