现在我有一个画布,上面有一堆椭圆,只要用户点击它。当我点击一个时,我试图这样做,在它周围显示一个黑色边框,直到他点击另一个。现在我只是拥有它,所以当他点击一个时,边框出现并停留在那里。
这是处理椭圆点击的功能。
private void ellipse_MouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
selectedNodeEllipse = (Ellipse)sender;
SelectedNode = (Node)selectedNodeEllipse.Tag; //just displays some info about the node
selectedNodeEllipse.Stroke = Brushes.Black;
}
所有省略号都在列表中(类型为Node)。
有什么想法吗?
答案 0 :(得分:1)
将先前的椭圆和画笔存储在变量中,并在分配新的笔触属性时检索数据。
<强>代码强>
private Ellipse selectedNodeEllipse;
private Ellipse previousEllipse = null;
private Brush previousBrush;
private void ellipse_MouseDown(object sender, MouseButtonEventArgs e) {
e.Handled = true;
if (previousEllipse != null)
{
previousEllipse.Stroke = previousBrush;
}
selectedNodeEllipse = (Ellipse)sender;
previousEllipse = selectedNodeEllipse;
previousBrush = previousEllipse.Stroke;
SelectedNode = (Node)selectedNodeEllipse.Tag; //just displays some info about the node
selectedNodeEllipse.Stroke = Brushes.Black;
}