zero0r1

导航

基于坐标布局的 Canvas

  在控件中, 子元素使用精确的坐标点进行定位. Canvas 本身不做任何布局工作.

在 WPF 中 Canvas 的使用价值并不是标准对话框, 或者是一些数据绑定的窗体等.

通常使用一些比如绘图工具的绘图表面等需要精确定位的场合.

 

Canvas 控件的主要使用方法

  为了在 Canvas 中定位属性, 需要使用 Canvas 的附加属性 Canvas.Left 和 Canvas.Top 属性.

Canvas.Left 属性设置距离容器左边界的尺寸, Canvas.Top 属性设置容器顶端的距离.

也可以选择使用 Canvas.Right 和 Canvas.Bottom 来定位子元素,但是不能与 Canvas.Top 和 Canvas.Left 并列使用

虽然使用 Canvas 非常方便, 但是调整窗口 Canvas 布局并不会随之改变,这个因为 Canvas 没有逻辑布局.

元素的定位是使用 Canvas.Left 和 Canvas.Top 指定绝对坐标点. 而且 Canvas 中没有Docking 或者 Anchoring 属性设置, 因而无法停靠其中的元素.

 

Canvas 的 Z 轴

  当多个元素惊喜堆叠时候,在同一个坐标点. 如果想让某个控件显示在最顶端. Canvas 提供了一个 Canvas.ZIndex 属性 可以指定 Z 轴顺序.

 

EXAMPLE:

    <Canvas  Name="canvas1">
        <Label Canvas.Left="10" Canvas.Top="10" Height="28" Name="labName" Width="82">请输入姓名:</Label>
        <TextBox Canvas.Left="90" Canvas.Top="10" Height="23" Name="txtName" Width="120"/>
        <Label Canvas.Left="10" Canvas.Top="42" Height="28" Name="labGender" Width="82">请输入性别:</Label>
        <ComboBox  Canvas.Left="90" Canvas.Top="42" Height="23" Name="cbGender" Width="120" SelectedIndex="0">
            <ComboBoxItem>男</ComboBoxItem>
            <ComboBoxItem>女</ComboBoxItem>
        </ComboBox>
        <Button Canvas.Left="41" Canvas.Top="95" Height="23" Name="button1" Width="75" >确定</Button>
        <Button Canvas.Left="165" Canvas.Top="95" Height="23" Name="button2" Width="75" >取消</Button>
    </Canvas>

 

效果图:

posted on 2017-09-11 22:06  zero0r1  阅读(579)  评论(0编辑  收藏  举报