Простая (я думаю) горизонтальная линия в WPF?

создание относительно простой формы ввода данных и просто хотите отделить определенные разделы горизонтальной линией (в отличие от тега HR в HTML), которая растягивает всю длину формы.

Я попытался это:

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

поскольку родительский элемент управления не является фиксированной шириной, эта строка заставляет окно растягиваться на всю ширину экрана.

есть ли простой способ сделать это без фиксации ширины моего родительского элемента управления / окна?

5 ответов


Как насчет добавить это в свой xaml:

<Separator/>

у меня была та же проблема, и в конечном итоге я решил использовать элемент прямоугольника:

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

на мой взгляд, несколько проще изменить / shape, чем разделитель. Конечно Separator - это очень простое и изящное решение для простых разделений :)


используйте границу высоты 1 и не устанавливайте ширину (т. е. Width = Auto, HorizontalAlignment = Stretch, по умолчанию)


для всех, кто борется с этим: комментарий "Qwertie" выше хорошо работал для меня.

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

это создает вертикальный разделитель, который вы можете использовать в соответствии с вашими потребностями.


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>