保持单击的椭圆突出显示,直到单击其他椭圆

本文关键字:单击 其他 显示 | 更新日期: 2023-09-27 18:36:42

现在我有一个画布,上面有一堆省略号,无论用户单击哪里。我试图做到这一点,所以当他点击一个时,它周围会显示一个黑色边框,直到他点击另一个。现在我只有它,所以当他点击一个时,边框会出现并停留在那里。

这是处理向下单击椭圆的函数。

    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;
}