容器:
一、网格 <Grid> </Grid>
附加属性:Grid.row(行)、Grid.Column(列) Margin(左上右下的间隙)
基本属性(元素化的属性):
行定义:<Grid.RowDefinitions />
附加属性:Height、Width(:*、auto 数字)
列定义:<Grid.ColumnSpanDefinitions />
附加属性:Height、Width(:*、auto 数字)
尺寸共享:<Grid.IsSharedSizeScope=”True” />
需要配合行/列中的SharedSizeGroup属性
二、堆栈面板:<StackPanel> </StackPanel>
附加属性:Orientation(排列方向)
三、包裹面板:<WrapPanel> </WrapPanel>
唯一不能被Grid替代的布局控件。
按行排列,尺寸不够时换行;按列排列,尺寸不够时换列
使用于界面图标式布局
附加属性:Orientation(排列方向)
四、停靠面板:<DockPanel> </DockPanel>
利用剩余的空间进行停靠,用于主窗口功能区划分
附加属性:DockPanel.Dock(Left/Top/Right/Bottom)
基本属性(元素化的属性):
最后一块定义:<DockPanel.LastChildFill />
五、均分网格:<UniformGrid> </UniformGrid>
自动生成统一的行列,用于仪表盘、驾驶舱
基本属性(元素化的属性):
行定义:<Grid.RowDefinitions />
列定义:<Grid.ColumnSpanDefinitions />
六、画布:<Canvas> </Canvas>
通过精确坐标定位放置子元素,用于给用户提供组态编辑功能
附加属性:Canvas.Left/Canvas.Top/Canvas.Right/Canvas.Bottom
七、笔迹画布:<InkCanvas> </InkCanvas>
支持任意笔画输入的画布组件,用于画板,手写输入
基本属性(元素化的属性):
EditingModel、Strokes(获取所有笔迹)、DefaultDrawingAttributes(设置笔迹样式)
GestureOnly 配合手势操作
附加属性: InkCanvas.Left/InkCanvas.Top/InkCanvas.Right/InkCanvas.Bottom
八、装饰边框:<Border> </Border>
用于定义背景色 、圆角 (子对象只能一个)
元素:
- <Border />
附加属性:Grid.row、Grid.Column、Background、Grid.ColumnSpan、Grid.RowSpan
- <RowDefinition />
- <ColumnDefinition />
控件:
- <Button />
附加属性:Grid.row、Grid.Column
元素或控件都可以有style属性(因为其继承于FrameworkElement类)