创建一个相对简单的数据输入表单,只需要用一条水平线(与HTML中的HR标签类似)分隔表单的某些部分,这条水平线延伸了整个表单的长度。

我试过了:

<Line Stretch="Fill" Stroke="Black" X2="1"/>

因为父控件的宽度不是固定的,所以这一行会导致窗口伸展到屏幕的全宽度。

有没有一个简单的方法来做到这一点,而不固定我的父控件/窗口的宽度?


当前回答

To draw Horizontal 
************************    
<Rectangle  HorizontalAlignment="Stretch"  VerticalAlignment="Center" Fill="DarkCyan" Height="4"/>

To draw vertical 
*******************
 <Rectangle  HorizontalAlignment="Stretch" VerticalAlignment="Center" Fill="DarkCyan" Height="4" Width="Auto" >
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="90"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>

其他回答

把这个添加到你的xaml中怎么样:

<Separator/>
To draw Horizontal 
************************    
<Rectangle  HorizontalAlignment="Stretch"  VerticalAlignment="Center" Fill="DarkCyan" Height="4"/>

To draw vertical 
*******************
 <Rectangle  HorizontalAlignment="Stretch" VerticalAlignment="Center" Fill="DarkCyan" Height="4" Width="Auto" >
        <Rectangle.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform Angle="90"/>
                <TranslateTransform/>
            </TransformGroup>
        </Rectangle.RenderTransform>
    </Rectangle>

首先,任务要求画一条水平线。分隔符是垂直的(不知道为什么会有这么多人投票——它们不是水平的)

使用简单的行标记

<Line
Grid.Row="4"
HorizontalAlignment="Center"
StrokeThickness="1"
X1="0"
X2="300"
Y1="10"
Y2="10" />

这是一条水平线。玩一下X轴和Y轴,让它工作…很简单,可以创建水平、垂直或任何其他角度的线段,不调整窗口大小

使用高度为1的边框,不要设置宽度(即Width = Auto, horizontalalign = Stretch,默认值)

我有同样的问题,最终选择使用矩形元素:

<Rectangle HorizontalAlignment="Stretch" Fill="Blue" Height="4"/>

在我看来,它比分隔符更容易修改/塑造。 当然,分隔符对于简单的分离来说是一个非常简单和整洁的解决方案:)