简单(我认为)WPF中的水平线?

时间:2010-02-22 23:04:54

标签: wpf xaml wpf-controls

创建一个相对简单的数据输入表单,并且只想用水平线(与HTML中的HR标记不同)将某些部分分开,这些部分会拉伸表单的整个长度。

我试过这个:

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

由于父控件不是固定宽度,因此该行会使窗口伸展到屏幕的整个宽度。

有没有一种简单的方法可以在不修复父控件/窗口宽度的情况下执行此操作?

5 个答案:

答案 0 :(得分:462)

如何将此添加到您的xaml:

<Separator/>

答案 1 :(得分:65)

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

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

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

答案 2 :(得分:12)

使用高度为1的边框,不要设置宽度(即宽度=自动,水平对齐=拉伸,默认值)

答案 3 :(得分:7)

对于任何挣扎于此的人:&#34; Qwertie&#34;以上评论对我来说效果很好。

<Border Width="1" Margin="2" Background="#8888"/>

这会创建一个垂直分离器,可以满足您的需求。

答案 4 :(得分:4)

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>