整个体系分为3层:
System.Threading.DispatcherObject
类System.Windows.DependencyObject
类System.Windows.Media.Visual
类System.Windows.UIElement
类System.Windows.FrameworkElement
类System. Windows.Shapes.Shape
类System.Windows.Controls.Control
类System. Windows. Controls. ContentControl
类Border
,Window
。System. Windows.Controls. ltemsControl
类ListBox
,TreeView
。System.Windows.Controls.Panel
类StackPanel
, WrapPanel
。Template(模板)用于定义或重定义控件结构
样式是应用于元素的属性值的集合,是属于资源中重要的一种。样式支持触发器Trigger,支持设置依赖属性,支持关联事件处理,支持继承。
Trigger(触发器)是指当指定的属性、数据或事件发生变化或触发时执行的操作,一般用来调整样式,显示动画等。
path=.
时,表示直接以Source本身作为绑定的数据TwoWay
,OneWay
,OneTime
,OneWayToSource
,Default
PropertyChanged
,LostFous
,Explicit
,Default
路由事件
StaticResource
:静态资源,不会响应资源的变化。DynamicResource
:动态资源,会响应资源的变化。BAML是一种压缩声明行语言,加载和解析速度比XAML快。
From
):如果没有指定变化起点则以变化目标属性的当前值为起点。To
):如果没有指定变化终点,程序将采用上一次动画的终点或默认值。By
):如果同时指定了变化终点,变化幅度将被忽略。Duration
):必须指定,类型为Duration
Storyboard.TargetName
、Storyboard.TargetProperty
以及Duration
设置动画的目标和变化时间。<DoubleAnimationUsingKeyFrames Storyboard.TargetName="MyAnimatedTranslateTransform"
Storyboard.TargetProperty="X"
Duration="0:0:10">
<LinearDoubleKeyFrame Value="0" KeyTime="0:0:0" />
<LinearDoubleKeyFrame Value="350" KeyTime="0:0:2" />
<LinearDoubleKeyFrame Value="50" KeyTime="0:0:7" />
<LinearDoubleKeyFrame Value="200" KeyTime="0:0:8" />
</DoubleAnimationUsingKeyFrames>
AnimationUsingPath
),并由路径对象(PathGeometry
)指定路径的动画。System.Windows.Media.Visual
和System.Windows.Media.Visual3D
继承的元素才能被视觉树包含。System.Windows.LogicalTreeHelper
来遍历,视觉树可以通过System.Windows.Media.VisualTreeHelper
来遍历;OnContentRendered
中进行。有如下几种方式:
Thread
ThreadPool
Task
BackgroundWorker
注意:Thread
的IsBackground
默认为false
,也就是该线程对调用它的线程不产生依赖,当调用线程退出时该线程也不会结束。
ThreadPool
和Task
的IsBackground
默认为true
,来指明该线程是后台线程,当主线程退出时该线程也会结束。
BackgroundWorker
支持进度事件和取消消息
ItemsControl
使用虚拟化IList
而不是IEnumerable
到ItemsControl
StaticResource
,而不是DynamicResource
Brush
(画刷)的透明度而不是element
(元素)的Text
属性上使用Run
WindowsFormsIntegration.dll
和System.Windows.Forms.dll
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
wfi:WindowsFormsHost
作为Winform控件的容器。原文:https://www.cnblogs.com/kuki/p/15219983.html