WPF画直线,点击直线,如何让端点变化 5
使用WPF画直线,点击直线,需要让直线两个端点出现变化,该如何处理(变化如图)?出现变化后,如何判断鼠标属否落在图2端点上?(图1)(图2)...
使用WPF画直线,点击直线,需要让直线两个端点出现变化,该如何处理(变化如图)?
出现变化后,如何判断鼠标属否落在图2端点上?
(图1)
(图2) 展开
出现变化后,如何判断鼠标属否落在图2端点上?
(图1)
(图2) 展开
2个回答
2015-04-08 · 知道合伙人互联网行家
关注
展开全部
(1)如果是绘制单根直线,那么使用Line类。
Line类继承自Shape,Shape继承自FrameworkElement,FrameworkElement继承自UIElement,所以Panel可以直接调用.Children.Add()方法添加Line。
首先在Window中添加一个Canvas,名字是canvas1,那么添加直线的代码就是
01.Line myLine = new Line();
02.myLine = new Line();
03.myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
04.myLine.X1 = 1;
05.myLine.X2 = 50;
06.myLine.Y1 = 1;
07.myLine.Y2 = 50;
08.myLine.HorizontalAlignment = HorizontalAlignment.Left;
09.myLine.VerticalAlignment = VerticalAlignment.Center;
10.this.canvas1.Children.Add(myLine);
其中
很重要,用来选择画刷。如果没有的话话出来的线就是白色的。
另外
myLine.StrokeThickness = 2;
是用来控制画刷的粗细的。
(二)如果用来绘制一连串连续的折线段,那么上述方法就不适合了。
Line类继承自Shape,Shape继承自FrameworkElement,FrameworkElement继承自UIElement,所以Panel可以直接调用.Children.Add()方法添加Line。
首先在Window中添加一个Canvas,名字是canvas1,那么添加直线的代码就是
01.Line myLine = new Line();
02.myLine = new Line();
03.myLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
04.myLine.X1 = 1;
05.myLine.X2 = 50;
06.myLine.Y1 = 1;
07.myLine.Y2 = 50;
08.myLine.HorizontalAlignment = HorizontalAlignment.Left;
09.myLine.VerticalAlignment = VerticalAlignment.Center;
10.this.canvas1.Children.Add(myLine);
其中
很重要,用来选择画刷。如果没有的话话出来的线就是白色的。
另外
myLine.StrokeThickness = 2;
是用来控制画刷的粗细的。
(二)如果用来绘制一连串连续的折线段,那么上述方法就不适合了。
追问
亲,看清问题哦,我问的不是如何画直线,而是将直线画出来后,如同通过,点击,从图1到图而的效果
展开全部
图片的端点用两个Rectangle,平时隐藏,点击的时候再出现。
追问
那该如何隐藏Rectangle那?还有,出现变化后,如何判断鼠标是否落在图2端点上?
追答
Rectangle 就用来代表端点啊,在Rectangle 就是在端点上
xaml
void Line_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){p2.Visibility=p1.Visibility=Visibility.Visible;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询