保持单击的椭圆突出显示,直到其他椭圆被单击
Keep clicked ellipse highlighted until other ellipse is clicked
现在我有一个 canvas 上面有一堆省略号,无论用户点击什么地方。我试图做到这一点,当他点击一个时,它周围会显示一个黑色边框,直到他点击另一个。现在我只有它,所以当他点击一个时,边框出现并停留在那里。
这是处理椭圆上的向下点击的函数。
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;
}
所有省略号都在一个列表(节点类型)中。
有什么想法吗?
将先前的椭圆和画笔存储在一个变量中,并在分配新笔画时检索数据属性。
代码
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;
}
现在我有一个 canvas 上面有一堆省略号,无论用户点击什么地方。我试图做到这一点,当他点击一个时,它周围会显示一个黑色边框,直到他点击另一个。现在我只有它,所以当他点击一个时,边框出现并停留在那里。
这是处理椭圆上的向下点击的函数。
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;
}
所有省略号都在一个列表(节点类型)中。
有什么想法吗?
将先前的椭圆和画笔存储在一个变量中,并在分配新笔画时检索数据属性。
代码
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;
}