zoukankan      html  css  js  c++  java
  • [Silverlight]关于对Canvas.ZIndex的认识误区

    对Canvas.ZIndex,MSDN的解释是:获取或设置 Canvas 中对象的 z 顺序呈现行为。

    并附有以下示例代码:

    <Grid x:Name="LayoutRoot" Background="White">
    <Canvas>
    <Ellipse
    Canvas.ZIndex="3"
    Canvas.Left
    ="5" Canvas.Top="5"
    Height
    ="200" Width="200"
    Stroke
    ="Black" StrokeThickness="10" Fill="Silver"/>

    <Ellipse
    Canvas.ZIndex="2"
    Canvas.Left
    ="50" Canvas.Top="50"
    Height
    ="200" Width="200"
    Stroke
    ="Black" StrokeThickness="10" Fill="DeepSkyBlue"/>

    <Ellipse
    Canvas.ZIndex="1"
    Canvas.Left
    ="95" Canvas.Top="95"
    Height
    ="200" Width="200"
    Stroke
    ="Black" StrokeThickness="10" Fill="Lime"/>

    </Canvas>
    </Grid>


    注意:本示例使用了Canvas布局对象

    我不禁要问:我平时根本不用Canvas布局,基本都是Grid,如何实现Z序的排列呢?

    今天突然发现:还是使用Canvas.ZIndex属性,也就是说用Grid布局,也可以用此属性来实现叠放,不必再套一个Canvas的外衣。让我们修改代码:

        <Grid x:Name="LayoutRoot2" Background="White">

    <Ellipse
    Canvas.ZIndex="3"
    Canvas.Left
    ="50" Canvas.Top="50"
    Height
    ="200" Width="200"
    Stroke
    ="Black" StrokeThickness="10" Fill="Silver" Margin="-9,-9,127,41"/>

    <Ellipse
    Canvas.ZIndex="2"
    Canvas.Left
    ="50" Canvas.Top="50"
    Height
    ="200" Width="200"
    Stroke
    ="Black" StrokeThickness="10" Fill="DeepSkyBlue" Margin="25,10,93,22"/>

    <Ellipse
    Canvas.ZIndex="1"
    Canvas.Left
    ="50" Canvas.Top="50"
    Height
    ="200" Width="200"
    Stroke
    ="Black" StrokeThickness="10" Fill="Lime" Margin="65,32,53,0"/>

    </Grid>

    我们去掉了Canvas布局元素,得到的结果:

    这就是附加属性的特别之处可以被附加到任何元素上至于有没有用,要根据具体情况具体分析了

    注意到了吗?我特意设置了Ellipse的Canvas.Left="50" Canvas.Top="50",但是Left和Top并不起作用。

    Silverlight打印全套解决方案--支持打印预览、页面设置(横向纵向,页边距,纸张大小、字体大小)、自动分页和多页连续打印

  • 相关阅读:
    Java第三季
    LeetCode(10)Regular Expression Matching
    LeetCode(9)Palindrome Number
    shell基础编程
    LeetCode(8)String to Integer (atoi)
    使用python绘制词云
    我的书单
    LeetCode(7)Reverse Integer
    获取新浪微博的Access_token
    c语言中,常见数据类型的字节数
  • 原文地址:https://www.cnblogs.com/slmk/p/2238832.html
Copyright © 2011-2022 走看看