在WPF中绘制可伸缩的线

时间:2014-12-12 06:57:10

标签: c# wpf

我需要绘制一条线,当它的父容器伸展自身时伸展,当它的父母自身崩溃时它会折叠。

我为此目的开发了一个用户控件,由于某些原因,这个控件被置于滚动查看器中。

我已使用父控件的宽度绑定了行的X2属性。它在拉伸父控件的同时解决了这个问题,但是在折叠时它不会让控件减小它的大小,而scrollviewer会为它添加一个滚动条。

 Binding binding = new Binding("ActualWidth")
        {
            ElementName = Grid1.Name
        };
        Line mainLine = new Line
        {
            X1 = 0,
            HorizontalAlignment=System.Windows.HorizontalAlignment.Stretch,
            StrokeThickness = 2,              
            VerticalAlignment = VerticalAlignment.Center
        };

        BindingOperations.SetBinding(mainLine, Line.X2Property, binding);
        Grid1.Children.Add(mainLine);
        Grid.SetColumnSpan(mainLine, 4);

1 个答案:

答案 0 :(得分:5)

尝试使用Rectangle来执行此操作:

<Grid>
    <Rectangle HorizontalAlignment="Stretch" 
               VerticalAlignment="Center" 
               Fill="Black" 
               Height="2"/>
</Grid>