WPF布局控件
Border
属性
1. 布局与尺寸
属性 | 分类 | 功能说明 |
---|---|---|
ActualHeight | 布局 | 获取元素的实际渲染高度(继承自 FrameworkElement )。 |
ActualWidth | 布局 | 获取元素的实际渲染宽度(继承自 FrameworkElement )。 |
Height | 布局 | 设置或获取元素的建议高度(继承自 FrameworkElement )。 |
Width | 布局 | 设置或获取元素的建议宽度(继承自 FrameworkElement )。 |
MinHeight | 布局 | 元素的最小高度约束(继承自 FrameworkElement )。 |
MaxHeight | 布局 | 元素的最大高度约束(继承自 FrameworkElement )。 |
MinWidth | 布局 | 元素的最小宽度约束(继承自 FrameworkElement )。 |
MaxWidth | 布局 | 元素的最大宽度约束(继承自 FrameworkElement )。 |
HorizontalAlignment | 布局 | 元素在父容器中的水平对齐方式(继承自 FrameworkElement )。 |
VerticalAlignment | 布局 | 元素在父容器中的垂直对齐方式(继承自 FrameworkElement )。 |
Margin | 布局 | 元素的外边距(与父容器或其他元素的间距,继承自 FrameworkElement )。 |
Padding | 布局 | 元素的内边距(与子元素的间距,仅某些容器支持,如 Border )。 |
DesiredSize | 布局 | 布局计算中元素期望的尺寸(继承自 UIElement )。 |
2. 外观与渲染
属性 | 分类 | 功能说明 |
---|---|---|
Background | 外观 | 设置元素的背景画刷(如 Border 的背景色)。 |
BorderBrush | 外观 | 边框颜色画刷(如 Border 的边框颜色)。 |
BorderThickness | 外观 | 边框的粗细(如 Border 的边框厚度)。 |
CornerRadius | 外观 | 边框圆角半径(如 Border 的圆角效果)。 |
Opacity | 渲染 | 元素整体透明度(0-1,继承自 UIElement )。 |
OpacityMask | 渲染 | 应用 Alpha 通道蒙板(基于画刷,继承自 UIElement )。 |
Effect | 渲染 | 应用位图效果(如阴影、模糊,继承自 UIElement )。 |
RenderTransform | 渲染 | 定义元素的渲染变换(如旋转、缩放,继承自 UIElement )。 |
RenderTransformOrigin | 渲染 | 渲染变换的中心点(如绕中心旋转,继承自 UIElement )。 |
BitmapEffect | 渲染(已过时) | 过时的位图效果(不推荐使用,继承自 UIElement )。 |
3. 输入与交互
属性 | 分类 | 功能说明 |
---|---|---|
AllowDrop | 拖放 | 设置元素是否可作为拖放目标(继承自 UIElement )。 |
IsEnabled | 交互 | 元素是否启用(禁用时无法交互,继承自 UIElement )。 |
Focusable | 焦点 | 元素是否可以获取焦点(继承自 UIElement )。 |
IsHitTestVisible | 交互 | 元素是否参与点击测试(继承自 UIElement )。 |
Cursor | 交互 | 鼠标悬停时显示的光标(继承自 FrameworkElement )。 |
4. 焦点与键盘
属性 | 分类 | 功能说明 |
---|---|---|
IsKeyboardFocused | 焦点 | 元素是否具有键盘焦点(继承自 UIElement )。 |
IsKeyboardFocusWithin | 焦点 | 元素或其子元素是否具有键盘焦点(继承自 UIElement )。 |
FocusVisualStyle | 焦点 | 键盘焦点时的视觉样式(继承自 FrameworkElement )。 |
5. 触摸与触笔
属性 | 分类 | 功能说明 |
---|---|---|
IsStylusCaptured | 触笔 | 触笔是否被元素捕获(继承自 UIElement )。 |
TouchesCaptured | 触摸 | 当前捕获的所有触摸设备(继承自 UIElement )。 |
AreAnyTouchesOver | 触摸 | 触摸设备是否在元素或其子元素上(继承自 UIElement )。 |
6. 数据与绑定
属性 | 分类 | 功能说明 |
---|---|---|
DataContext | 数据 | 元素的数据上下文(用于绑定,继承自 FrameworkElement )。 |
BindingGroup | 数据 | 绑定分组管理(继承自 FrameworkElement )。 |
7. 样式与资源
属性 | 分类 | 功能说明 |
---|---|---|
Style | 样式 | 元素的样式(继承自 FrameworkElement )。 |
Resources | 资源 | 本地资源字典(继承自 FrameworkElement )。 |
OverridesDefaultStyle | 样式 | 是否覆盖默认主题样式(继承自 FrameworkElement )。 |
8. 子元素与逻辑树
属性 | 分类 | 功能说明 |
---|---|---|
Child | 子元素 | Decorator 的直接子元素(如 Border 的内容)。 |
LogicalChildren | 逻辑树 | 逻辑子元素的枚举器(继承自 Decorator )。 |
9. 可视化树与渲染
属性 | 分类 | 功能说明 |
---|---|---|
VisualChildrenCount | 可视化树 | 可视化子元素的数量(继承自 Decorator )。 |
Clip | 渲染 | 剪切元素内容的几何形状(继承自 UIElement )。 |
ClipToBounds | 渲染 | 是否剪切内容以适应容器(继承自 UIElement )。 |
10. 过时属性
属性 | 分类 | 功能说明 |
---|---|---|
BitmapEffectInput | 渲染(已过时) | 过时的位图效果输入(不推荐使用)。 |
PersistId | 唯一标识(已过时) | 过时的唯一标识符(继承自 UIElement )。 |
方法
1. 事件处理
方法 | 功能描述 |
---|---|
AddHandler(RoutedEvent, Delegate) | 为指定的路由事件添加事件处理程序。 |
AddHandler(RoutedEvent, Delegate, Boolean) | 添加事件处理程序,并指定是否处理已被标记为“已处理”的事件。 |
RemoveHandler(RoutedEvent, Delegate) | 移除指定的事件处理程序。 |
RaiseEvent(RoutedEventArgs) | 触发指定的路由事件。 |
2. 布局与渲染
方法 | 功能描述 |
---|---|
Arrange(Rect) | 定位子元素并确定其大小。 |
ArrangeCore(Rect) | 实现布局逻辑的核心方法。 |
Measure(Size) | 计算元素的期望大小。 |
MeasureCore(Size) | 实现测量逻辑的核心方法。 |
MeasureOverride(Size) | 在自定义控件中重写以定义测量逻辑。 |
ArrangeOverride(Size) | 在自定义控件中重写以定义布局逻辑。 |
OnRender(DrawingContext) | 在渲染过程中绘制内容。 |
InvalidateArrange() | 使布局状态无效,强制重新布局。 |
InvalidateMeasure() | 使测量状态无效,强制重新测量。 |
InvalidateVisual() | 使渲染状态无效,强制重新渲染。 |
3. 动画
方法 | 功能描述 |
---|---|
BeginAnimation(DependencyProperty, AnimationTimeline) | 为指定属性启动动画。 |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) | 启动动画并指定如何处理现有动画。 |
ApplyAnimationClock(DependencyProperty, AnimationClock) | 将动画时钟应用到指定属性。 |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) | 应用动画时钟并指定如何处理现有动画。 |
GetAnimationBaseValue(DependencyProperty) | 获取属性的基值(忽略动画效果)。 |
4. 焦点与输入
方法 | 功能描述 |
---|---|
Focus() | 尝试将焦点设置到当前元素。 |
CaptureMouse() | 强制捕获鼠标输入。 |
CaptureStylus() | 强制捕获触笔输入。 |
CaptureTouch(TouchDevice) | 强制捕获触摸输入。 |
ReleaseMouseCapture() | 释放鼠标捕获。 |
ReleaseStylusCapture() | 释放触笔捕获。 |
ReleaseTouchCapture(TouchDevice) | 释放指定触摸设备的捕获。 |
PredictFocus(FocusNavigationDirection) | 预测焦点移动方向的下一个元素。 |
5. 资源与绑定
方法 | 功能描述 |
---|---|
FindResource(Object) | 查找指定键的资源。 |
TryFindResource(Object) | 尝试查找指定键的资源。 |
SetBinding(DependencyProperty, BindingBase) | 为指定属性设置绑定。 |
SetBinding(DependencyProperty, String) | 为指定属性设置绑定,使用路径限定。 |
SetResourceReference(DependencyProperty, Object) | 为指定属性设置资源引用。 |
6. 逻辑与可视化树
方法 | 功能描述 |
---|---|
AddLogicalChild(Object) | 将对象添加到逻辑树。 |
RemoveLogicalChild(Object) | 从逻辑树中移除对象。 |
AddVisualChild(Visual) | 将对象添加到可视化树。 |
RemoveVisualChild(Visual) | 从可视化树中移除对象。 |
GetVisualChild(Int32) | 获取指定索引的可视子元素。 |
OnVisualChildrenChanged(DependencyObject, DependencyObject) | 当可视化子元素发生变化时调用。 |
7. 依赖属性
方法 | 功能描述 |
---|---|
SetValue(DependencyProperty, Object) | 设置依赖属性的值。 |
GetValue(DependencyProperty) | 获取依赖属性的值。 |
ClearValue(DependencyProperty) | 清除依赖属性的本地值。 |
CoerceValue(DependencyProperty) | 强制转换依赖属性的值。 |
OnPropertyChanged(DependencyPropertyChangedEventArgs) | 当依赖属性值更改时调用。 |
8. 模板与样式
方法 | 功能描述 |
---|---|
ApplyTemplate() | 应用控件的模板并生成可视化树。 |
OnApplyTemplate() | 在模板应用时调用,用于自定义逻辑。 |
UpdateDefaultStyle() | 重新应用默认样式。 |
9. 工具提示与上下文菜单
方法 | 功能描述 |
---|---|
OnToolTipOpening(ToolTipEventArgs) | 当工具提示打开时调用。 |
OnToolTipClosing(ToolTipEventArgs) | 当工具提示关闭时调用。 |
OnContextMenuOpening(ContextMenuEventArgs) | 当上下文菜单打开时调用。 |
OnContextMenuClosing(ContextMenuEventArgs) | 当上下文菜单关闭时调用。 |
10. 拖放操作
方法 | 功能描述 |
---|---|
OnDragEnter(DragEventArgs) | 当拖拽进入元素时调用。 |
OnDragLeave(DragEventArgs) | 当拖拽离开元素时调用。 |
OnDragOver(DragEventArgs) | 当拖拽在元素上移动时调用。 |
OnDrop(DragEventArgs) | 当拖拽释放时调用。 |
11. 触摸与手势
方法 | 功能描述 |
---|---|
OnTouchDown(TouchEventArgs) | 当触摸按下时调用。 |
OnTouchMove(TouchEventArgs) | 当触摸移动时调用。 |
OnTouchUp(TouchEventArgs) | 当触摸释放时调用。 |
OnManipulationStarted(ManipulationStartedEventArgs) | 当操作(如缩放、旋转)开始时调用。 |
OnManipulationDelta(ManipulationDeltaEventArgs) | 当操作进行时调用。 |
OnManipulationCompleted(ManipulationCompletedEventArgs) | 当操作完成时调用。 |
12. 其他功能
方法 | 功能描述 |
---|---|
BringIntoView() | 将元素滚动到视图中。 |
TransformToVisual(Visual) | 将坐标转换为相对于指定可视对象的坐标。 |
VerifyAccess() | 确保调用线程具有访问权限。 |
ToString() | 返回对象的字符串表示形式。 |
事件
1. 上下文菜单事件
事件 | 描述 |
---|---|
ContextMenuClosing | 在元素上的任何上下文菜单关闭之前发生。 |
ContextMenuOpening | 在元素上的任何上下文菜单打开时发生。 |
2. 数据上下文事件
事件 | 描述 |
---|---|
DataContextChanged | 在此元素的数据上下文更改时发生。 |
3. 拖放事件
事件 | 描述 |
---|---|
DragEnter | 在输入系统报告出现以此元素为拖动目标的基础拖动事件时发生。 |
DragLeave | 在输入系统报告出现以此元素为拖动起点的基础拖动事件时发生。 |
DragOver | 在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生。 |
Drop | 在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。 |
GiveFeedback | 在输入系统报告出现涉及此元素的基础拖放操作时发生。 |
PreviewDragEnter | 在输入系统报告出现以此元素为拖动目标的基础拖动事件时发生(预览事件)。 |
PreviewDragLeave | 在输入系统报告出现以此元素为拖动起点的基础拖动事件时发生(预览事件)。 |
PreviewDragOver | 在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生(预览事件)。 |
PreviewDrop | 在输入系统报告出现将此元素作为放置目标的基础放置事件时发生(预览事件)。 |
PreviewGiveFeedback | 在开始拖放操作时发生(预览事件)。 |
QueryContinueDrag | 在拖放操作期间键盘或鼠标按钮的状态改变时发生。 |
PreviewQueryContinueDrag | 在拖放操作期间键盘或鼠标按钮的状态改变时发生(预览事件)。 |
4. 焦点事件
事件 | 描述 |
---|---|
GotFocus | 在此元素获得逻辑焦点时发生。 |
LostFocus | 在此元素丢失逻辑焦点时发生。 |
GotKeyboardFocus | 在此元素聚焦于键盘时发生。 |
LostKeyboardFocus | 在此元素不再聚焦于键盘时发生。 |
PreviewGotKeyboardFocus | 在此元素聚焦于键盘时发生(预览事件)。 |
PreviewLostKeyboardFocus | 在此元素不再聚焦于键盘时发生(预览事件)。 |
5. 输入捕获事件
事件 | 描述 |
---|---|
GotMouseCapture | 在此元素捕获鼠标时发生。 |
LostMouseCapture | 在此元素丢失鼠标捕获时发生。 |
GotStylusCapture | 在此元素捕获触笔时发生。 |
LostStylusCapture | 在此元素丢失触笔捕获时发生。 |
GotTouchCapture | 在此元素上捕获触摸屏输入时发生。 |
LostTouchCapture | 在此元素失去触摸屏输入捕获时发生。 |
6. 初始化与加载事件
事件 | 描述 |
---|---|
Initialized | 初始化此 FrameworkElement 时发生。 |
Loaded | 当对元素进行布局、呈现,且可将其用于交互时发生。 |
Unloaded | 当从加载的元素的元素树中移除元素时发生。 |
7. 键盘事件
事件 | 描述 |
---|---|
KeyDown | 当焦点在该元素上时按下某个键后发生。 |
KeyUp | 当焦点在该元素上时松开某个键后发生。 |
PreviewKeyDown | 当焦点在该元素上时按下某个键后发生(预览事件)。 |
PreviewKeyUp | 当焦点在该元素上时松开某个键后发生(预览事件)。 |
8. 鼠标事件
事件 | 描述 |
---|---|
MouseDown | 在指针位于此元素上并且按下任意鼠标按钮时发生。 |
MouseUp | 在鼠标指针位于此元素上并且松开任意鼠标按钮时发生。 |
MouseEnter | 在鼠标指针进入此元素的边界时发生。 |
MouseLeave | 在鼠标指针离开此元素的边界时发生。 |
MouseLeftButtonDown | 在鼠标指针位于此元素上并且按下鼠标左键时发生。 |
MouseLeftButtonUp | 在鼠标指针位于此元素上并且松开鼠标左键时发生。 |
MouseRightButtonDown | 在鼠标指针位于此元素上并且按下鼠标右键时发生。 |
MouseRightButtonUp | 在鼠标指针位于此元素上并且松开鼠标右键时发生。 |
MouseMove | 在鼠标指针位于此元素上并且移动鼠标指针时发生。 |
MouseWheel | 在鼠标指针位于此元素上并且用户滚动鼠标滚轮时发生。 |
PreviewMouseDown | 在指针位于此元素上并且按下任意鼠标按钮时发生(预览事件)。 |
PreviewMouseUp | 在鼠标指针位于此元素上并且松开任意鼠标按钮时发生(预览事件)。 |
PreviewMouseLeftButtonDown | 在鼠标指针位于此元素上并且按下鼠标左键时发生(预览事件)。 |
PreviewMouseLeftButtonUp | 在鼠标指针位于此元素上并且松开鼠标左键时发生(预览事件)。 |
PreviewMouseRightButtonDown | 在鼠标指针位于此元素上并且按下鼠标右键时发生(预览事件)。 |
PreviewMouseRightButtonUp | 在鼠标指针位于此元素上并且松开鼠标右键时发生(预览事件)。 |
PreviewMouseMove | 在鼠标指针位于此元素上并且移动鼠标指针时发生(预览事件)。 |
PreviewMouseWheel | 在鼠标指针位于此元素上并且用户滚动鼠标滚轮时发生(预览事件)。 |
9. 触笔事件
事件 | 描述 |
---|---|
StylusDown | 在触笔位于此元素上且同时触及数字化器时发生。 |
StylusUp | 当触笔位于此元素上并且用户将触笔抬离数字化器时发生。 |
StylusEnter | 在触笔进入此元素的边界时发生。 |
StylusLeave | 在触笔离开元素的边界时发生。 |
StylusMove | 在触笔移到此元素上时发生。 |
StylusInAirMove | 在触笔掠过元素但并未实际接触数字化器时发生。 |
StylusInRange | 在触笔位于此元素上并且触笔与数字化器之间的距离近到足以检测到触笔时发生。 |
StylusOutOfRange | 在触笔位于此元素上并且触笔与数字化器之间的距离太远以致无法检测到触笔时发生。 |
StylusSystemGesture | 在用户采用某一种触笔笔势时发生。 |
StylusButtonDown | 在指针位于此元素上并且按下触笔按钮时发生。 |
StylusButtonUp | 在指针位于此元素上并且松开触笔按钮时发生。 |
PreviewStylusDown | 当触笔位于元素上且触及数字化器时发生(预览事件)。 |
PreviewStylusUp | 当触笔位于此元素上并且用户将触笔抬离数字化器时发生(预览事件)。 |
PreviewStylusMove | 在触笔位于元素上并且移动触笔时发生(预览事件)。 |
PreviewStylusInAirMove | 在触笔掠过元素但并未实际接触数字化器时发生(预览事件)。 |
PreviewStylusInRange | 在触笔位于此元素上并且触笔与数字化器之间的距离近到足以检测到触笔时发生(预览事件)。 |
PreviewStylusOutOfRange | 在触笔与数字化仪之间的距离太远以致无法检测到触笔时发生(预览事件)。 |
PreviewStylusSystemGesture | 在用户采用某一种触笔笔势时发生(预览事件)。 |
PreviewStylusButtonDown | 在指针位于此元素上并且按下触笔按钮时发生(预览事件)。 |
PreviewStylusButtonUp | 在指针位于此元素上并且松开触笔按钮时发生(预览事件)。 |
10. 触摸事件
事件 | 描述 |
---|---|
TouchDown | 当悬停在此元素上方的手指触摸屏幕时发生。 |
TouchUp | 当悬停在此元素上方的手指从屏幕上移开时发生。 |
TouchMove | 当悬停在此元素上方的手指在屏幕上移动时发生。 |
TouchEnter | 在触摸屏输入从此元素边界外部移动到其内部时发生。 |
TouchLeave | 在触摸屏输入从此元素边界内部移动到其外部时发生。 |
PreviewTouchDown | 当悬停在此元素上方的手指触摸屏幕时发生(预览事件)。 |
PreviewTouchUp | 当悬停在此元素上方的手指从屏幕上移开时发生(预览事件)。 |
PreviewTouchMove | 当悬停在此元素上方的手指在屏幕上移动时发生(预览事件)。 |
11. 工具提示事件
事件 | 描述 |
---|---|
ToolTipClosing | 在元素上的任何工具提示关闭之前发生。 |
ToolTipOpening | 在元素上的任何工具提示打开时发生。 |
12. 布局与渲染事件
事件 | 描述 |
---|---|
LayoutUpdated | 在与当前 Dispatcher 关联的各种可视元素的布局更改时发生。 |
SizeChanged | 当此元素上的 ActualHeight 或 ActualWidth 属性的值发生更改时发生。 |
13. 属性更改事件
事件 | 描述 |
---|---|
FocusableChanged | 当 Focusable 属性的值更改时发生。 |
IsEnabledChanged | 在此元素的 IsEnabled 属性值更改时发生。 |
IsHitTestVisibleChanged | 在此元素的 IsHitTestVisible 依赖项属性值更改时发生。 |
IsKeyboardFocusedChanged | 在此元素的 IsKeyboardFocused 属性值更改时发生。 |
IsKeyboardFocusWithinChanged | 在此元素的 IsKeyboardFocusWithin 属性值更改时发生。 |
IsMouseCapturedChanged | 在此元素的 IsMouseCaptured 属性值更改时发生。 |
IsMouseCaptureWithinChanged | 在此元素的 IsMouseCaptureWithinProperty 值更改时发生。 |
IsMouseDirectlyOverChanged | 在此元素的 IsMouseDirectlyOver 属性值更改时发生。 |
IsStylusCapturedChanged | 在此元素的 IsStylusCaptured 属性值更改时发生。 |
IsStylusCaptureWithinChanged | 在此元素的 IsStylusCaptureWithin 属性值更改时发生。 |
IsStylusDirectlyOverChanged | 在此元素的 IsStylusDirectlyOver 属性值更改时发生。 |
IsVisibleChanged | 在此元素的 IsVisible 属性值更改时发生。 |
14. 绑定与资源事件
事件 | 描述 |
---|---|
SourceUpdated | 当此元素上的任何现有属性绑定的源值发生更改时发生。 |
TargetUpdated | 当此元素上的任何属性绑定的目标值发生更改时发生。 |
15. 文本输入事件
事件 | 描述 |
---|---|
TextInput | 在此元素以设备无关模式获取文本时发生。 |
PreviewTextInput | 在此元素以设备无关模式获取文本时发生(预览事件)。 |
16. 操作与手势事件
事件 | 描述 |
---|---|
ManipulationStarted | 当输入设备对 UIElement 对象开始操作时发生。 |
ManipulationDelta | 当输入设备在操作期间更改位置时发生。 |
ManipulationCompleted | 对于 UIElement 对象的操作和延时完毕时发生。 |
ManipulationInertiaStarting | 当输入设备在操作期间与 UIElement 对象失去联系且延时开始时发生。 |
ManipulationBoundaryFeedback | 当操作遇到边界时发生。 |
17. 光标与查询事件
事件 | 描述 |
---|---|
QueryCursor | 当请求显示光标时发生。 |
18. 其他事件
事件 | 描述 |
---|---|
RequestBringIntoView | 当在此元素上调用 BringIntoView(Rect) 时发生。 |