代码之家  ›  专栏  ›  技术社区  ›  Larsenal

Silverlight<line>是否需要定义宽度和高度?

  •  0
  • Larsenal  · 技术社区  · 15 年前

    除非指定高度和宽度,否则A似乎不可见。这是真的吗?

    这似乎相当乏味。线条的边界是否意味着正确的宽度和高度?

        <Canvas Height="200" Width="200" HorizontalAlignment="Left" Background="Beige">
            <!-- This is visible -->
            <Line X1="20" Y1="40" X2="70" Y2="90"
                  Stroke="Black" StrokeThickness="4" Height="100" Width="100" />
    
            <!-- This is not visible -->
            <Line X1="10" Y1="10" X2="50" Y2="50"
                  Stroke="Black" StrokeThickness="4"/>
        </Canvas>
    

    (我正在使用Silverlight 3。)

    4 回复  |  直到 13 年前
        1
  •  0
  •   Manushin Igor    15 年前

    不,可以使用此模板之一定义坐标:

    1. X1,X2,Y1,Y2
    2. 画布。左,画布。上,宽,高。

    如果将它们一起使用,clr有时可能会显示错误的控件。

        2
  •  1
  •   Jeb    14 年前

    在SL 4中,MS显示了 mixing X1, X2, Y1, Y2 with Canvas.Left

    根据我自己的经验,使用Visual Studio 2010,为了在设计器视图中看到线条,我必须设置非零的宽度和高度,同时还使用x,y设置该空间中的线条。

        3
  •  0
  •   Asher    14 年前

    这条线似乎是在相对于canvas的点(x1,y1)上绘制的。左边,canvas。line元素的顶部。所以不指定canvas.left,canvas.top意味着该线实际上是在点(x1,y1)处绘制的。

    就像控制尺寸(或线条的绘图面)是由canvas.left,canvas.top,width,height决定的,实际线条是由(x1,y1)和(x2,y2)相对于canvas.left,canvas.top呈现的。

    RotateTransform使用canvas.left、canvas.top值(除非指定了其他中心),而不是x1等值。因此,如果这些值不同,则行中的任何转换都可能无法按预期工作。

        4
  •  0
  •   Juan Carlos Velez    13 年前

    我有Silverlight4,我解决了指定画布宽度、画布高度x1、x2、y1、y2的问题。

    推荐文章