Spiga

WPF学习笔记1:基础控件

2022-08-21 19:58:54

一、基础控件汇总

| 控件类型 | 主要控件 | | ------------ | ------------------------------------------------------------ | | 按钮控件 | Button、RepeatButton、RadioButton | | 数据显示控件 | TextBlock、Label、ImageItemsControl**、ListViewListBoxDataGrid、DocumentViwer | | 输入控件 | TextBox、RichTextBox、CheckBoxComboBox、DatePicker、PasswordBoxSlider、ProgressBar | | 菜单导航控件 | MenuItem、ContextMenu、ToolBar、TreeView、TabControl、Expander | | 信息提示控件 | PopupWindow、PrintDialog、ToolTip | | 布局控件 | GridStackPanelWrapPanelDockPanelUniformGridCanvasInkCanvas、**Border | | 图形控件 | Line、Rectangle、Ellipse、Polyline、Polygon、Path | | 其他控件 | ScrollViwer、GroupBox、ViewBox |

1. 常用属性

  • 尺寸(宽高)、定位(Margin,HorizontalAlignment、VerticalAlignment)、颜色(Background、Foreground)、信息显示(Text、Content、ListViewItem、ListBoxItem、DataGridTextColumn…..)

  • 鼠标事件、键盘事件

  • 特别属性

    • RadioButton:GroupName
    • 集合控件:AlternationCount
    • ComboBox:SelectedItem、SelectedValue、SelectedValuePath、DisplayMemberPath、SelectedIndex
    • DatePicker:SelectedDate、DisplayDateStart、DisplayDateEnd
    • PasswordBox:Password(普通属性)
    • Silder、ProgressBar:最小值、最大值、当前值
    • Popup:IsOpen、Placement、PlacementTarget、StaysOpen
    • Window:无边框:1、WindowStyle=“None” AllowsTransparency=“True“ 2、WindowChrome

2. 基础控件继承关系树

二、 平面图形

1. 图像对象:Rectangle、Ellipse、Line、Polyline、Polygon、Path

2. 属性:

  • Stroke:线条颜色

  • StrokeThickness:线条的厚度(线宽)

  • StrokeDashArray:虚线控制(数组)

  • StrokeDashCap:虚线段的两端样式(向外延伸三角、半圆、方形)

  • StrokeEndLineCap、StrokeStartLineCap:整体线条的结束、起始端样式

  • StrokeMiterLimit:交叉点锐角向外延伸距离

  • StrokeLineJoin:交叉点的锐角样式

  • 几何图形对象:Rectangle、Ellipse、Line、GeometryGroup、CombinedGeometry、PathGeometry

  • ArcSegment :

    • 弧线结束坐标Point
    • 弧线所在椭圆的横纵半轴尺寸Size
    • 弧线所在椭圆的旋转角度RotationAngle
    • 弧两点间弧线的扫掠方向SweepDirection
    • 在两点的弧线是否取大弧(优势弧)IsLargeArc

3. Path微语言

1. Path对象,Data属性

2. 微语音

  • M(Move移动到XY)
  • L(Line终点XY)并不是必须,可以省略
  • H(水平移动X)、V(垂直移动Y)
  • C(三次贝塞尔曲线)、Q(二次贝塞尔曲线)、S(平滑三次贝塞尔曲线)、T(平滑二次贝塞尔曲线)
  • A(Arc:尺寸HV、旋转角度、大弧、扫掠方向、坐标XY)
  • 大小写:大写标记绝对坐标、小写标记相对坐标(相对前一个坐标变化值)
  • z 图形封闭

3. DrawingContext

  • OnRender
  • 方法:DrawLine、DrawRectangle、DrawRoundedRectangle、DrawEllipse、DrawImage、DrawVideo、DrawGeometry

4. 对象渲染画刷

  • 对象渲染
  • SolidColorBrush
  • LinearGradientBrush:线性渐变
  • RadialGradientBrush:径向渐变
  • ImageBrush:图像加载、雪碧图
  • DrawingBrush
  • VisualBrush
  • BitmapCacheBrush

5. 对象变形与效果

1. 变形

  • TranslateTransform
  • RotateTransform
  • ScaleTransform
  • SkewTransform
  • MatrixTransform
  • TransformGroup/执行顺序

2. 效果Effect

  • DropshadowEffect:Direction 阴影显示方向:逆时针角度值、Color颜色、ShadowDepth阴影深度、BlurRadius模糊程度、 Opacity阴影透明度
  • BlurEffect
  • 自定义去色效果:GrayscaleEffect
  • OpacityMask

3. 平面渲染的C#处理

  • Path Data属性

  • SolidColorBrush