1

Windows 电话 8,XAML。我有两个彼此相邻Line的水平拉伸对象。StackPanel其中任何一个都没有左边距或右边距。然而,它们之间存在明显的差距。XAML 去:

<StackPanel x:Name="Root" Orientation="Horizontal">

    <Line
        x:Name="LHLine11"
        Margin="0,50,0,0"
        Stretch="Fill"
        Width="10"
        X1="0" X2="1" Y1="0" Y2="0"
        StrokeThickness="1"
        VerticalAlignment="Top"
        Stroke="{StaticResource PhoneButtonBasePressedForegroundBrush}"
        />

    <Line
        x:Name="LHLine1"
        Margin="0,50,0,0"
        Stretch="Fill"
        Width="10"
        X1="0" X2="1" Y1="0" Y2="0"
        StrokeThickness="1"
        VerticalAlignment="Top"
        Stroke="{StaticResource PhoneButtonBasePressedForegroundBrush}"
        />
   </StackPanel>

怎么会?

如果您想知道为什么我不制作一条更长的单行:这是一个演示该行为的最小示例。

4

1 回答 1

3

我无法解释为什么当您使用 Line 元素时显然有 1 个像素的间隙,这似乎是不同的,也许是测量方法中的一个愚蠢的错误?几个快速的小解决方法是在其中一条线的连接侧添加 -1 边距。或者你可以用 Rectangles 代替它们,并在没有 1 个像素间隙的情况下完成同样的事情。

<StackPanel Orientation="Horizontal">
    <Rectangle Height="1" Fill="Blue" Width="50"/>
    <Rectangle Height="1" Fill="Red" Width="50"/>
</StackPanel>

Hopefully this is at least somewhat helpful. Cheers

于 2012-11-29T16:27:01.360 回答