在wpf中的两个按钮之间画线

时间:2013-12-07 05:38:21

标签: c# wpf drawing

我在c#中开发语言学习应用程序。 这个应用程序有一个名称是逐字匹配的部分。在这部分我有2列。左栏有主词,右栏有词义。我希望用户点击左栏中的按钮。当释放时单击一条线捕捉到鼠标指针,当点击意义线时,按下右栏的按钮就像在Photoshop中画线一样,或者告诉我更多的语言学习。谢谢。

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以为您的应用程序使用Canvas布局。

我不知道您的代码,但我编码this

在XAML文件中,Canvas控件如下所示:

<Canvas Name="myCanvas">
    <Button Name="btn1" Content="Asia" Width="100" Height="30" Click="btn1_Click" Canvas.Left="201" Canvas.Top="143"/>
    <Button  Name="btn2" Content="Arabic" Canvas.Left="473" Width="100" Height="30" Canvas.Top="93"/>
</Canvas>

在.CS文件中btn1_Click函数应该像这样实现:

private void btn1_Click(object sender, RoutedEventArgs e)
    {
        Point btn1Point = btn1.TransformToAncestor(this).Transform(new Point(0, 0));
        Point btn2Point = btn2.TransformToAncestor(this).Transform(new Point(0, 0));
        Line l = new Line();
        l.Stroke = new SolidColorBrush(Colors.Black);
        l.StrokeThickness = 2.0;
        l.X1 = btn1Point.X + btn1.ActualWidth;
        l.X2 = btn2Point.X;
        l.Y1 = btn1Point.Y + btn1.ActualHeight/2;
        l.Y2 = btn2Point.Y + btn2.ActualHeight / 2;
        myCanvas.Children.Add(l);
    }