当前位置: 首页 > article >正文

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) 时发生。

http://www.kler.cn/a/559953.html

相关文章:

  • 【C++】 stack和queue以及模拟实现
  • deepseek 导出导入模型(docker)
  • 计算机毕业设计SpringBoot+Vue.js医院管理系统(源码+文档+PPT+讲解)
  • Git与GitHub:深入理解与高效使用
  • 企业终端遭遇勒索病毒威胁?火绒企业版V2.0--企业用户勒索攻击防护建议!
  • wpf 页面切换的实现方式
  • HarmonyOS Next 计时器组件详解
  • 微信小程序 - 条件渲染(wx:if、hidden)与列表渲染(wx:for)
  • 跨境宠物摄像头是一种专为宠物主人设计的智能设备
  • Python的那些事第三十一篇:快速数据帧处理与可视化的高效工具Vaex
  • AWS Bedrock平台引入DeepSeek-R1 模型,推动深度学习
  • 量子计算的数学基础:复数、矩阵和线性代数
  • CSS `transform` 属性详解:打造视觉效果与动画的利器
  • 04 burpsuite的使用
  • AWS-SAA中文版题库
  • 服务端获取远程ip的方法
  • 将DeepSeek接入vscode的N种方法
  • OO设计原则的cpp举例
  • langchain4j+springboot流式输出
  • 深度解析SmartGBD助力Android音视频数据接入GB28181平台