一、Canvas

WPF中子元素的绝对定位的布局控件

· 其子元素使用WidthHeight定义元素的宽度和高度

· 使用Convas.LeftConvas.Right)、Convas.Bottom)定义与Convas容器的相对位置

· 如果同时存在Convas.LeftConvas.RightConvas.Bottom,则Convas.Left优先生效

例如:

1: <Canvas>

2: <Button Canvas.Left="10" Canvas.Top="10" Height="23" Width="75">LT</Button>

3: <Button Canvas.Right="10" Canvas.Top="10" Height="23" Width="75">RT</Button>

4: <Button Canvas.Left="10" Canvas.Bottom="10" Height="23" Width="75">LB</Button>

5: <Button Canvas.Right="10" Canvas.Bottom="10" Height="23" Width="75">RB</Button>

6: </Canvas>

在调整窗体大小时,LT与左、上距离保持不变;RT与右、上距离保持不变;LB与左、下距离保持不变;RB与右、下距离保持不变。使用Canvas不能简单地实现Windows应用程序中Acho的功能。

二、InkCanvas

WPF中实现允许使用墨迹的控件。如:

1: <Window x:Class="WPFLayoutDemo.InkCanvasDemo"

2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

3: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

4: Title="InkCanvasDemo" Height="200" Width="300">

5: <InkCanvas>

6: <InkCanvas.DefaultDrawingAttributes>

7: <DrawingAttributes Color="Red" />

8: </InkCanvas.DefaultDrawingAttributes>

9: <Image Width="155" Height="155" InkCanvas.Left="10" ="10"

10: Source="Logo2.png"/>

11: </InkCanvas>

12: </Window>

其他的功能与Canvas相近。

示意图如下:

WPF布局管理之Canvas、InkCanvas(8)_Canvas