0

我的 WPF 窗口包含一个 Grid,它延伸到整个窗口宽度并沿途布局一些控件。在这些控件中,应该在一端显示一些带有箭头的线条,以可视化某种流程。这些线跨越多个网格列或行,并且每边都有一些边距,以使它们远离其他控件。多条线具有它们必须接触的某些连接点。现在,我只需要水平线和垂直线。

我尝试过使用 Line 控件,但这似乎需要两端的 X 和 Y 坐标,以像素为单位。这并不容易,因为随着用户更改窗口大小,线条可能会拉伸。

接下来是路径控件,但我不知道如何在那里添加箭头。路径数据是“M0,0 L1,0”,Stretch="Fill",所以如果我在路径上画一个箭头,它也会拉伸,这是我不应该做的。

有什么替代方法可以拉伸一条线而不是它上面的箭头?

4

1 回答 1

0

滚动你自己的控制

public sealed class Arrow : FrameworkElement
{
    protected override void OnRender(DrawingContext drawingContext)
    {
       var width = ActualWidth;
       var height = ActualHeight;
       drawingContext.Draw...; // Draw you arrow line here
       drawingContext.Draw...; // Draw you arrow head here 
    }
}

当然,您可以向其添加各种依赖属性,以控制箭头的绘制方式。

于 2012-11-07T11:21:44.080 回答