【发布时间】:2015-01-07 18:32:18
【问题描述】:
现在我有一个画布,上面有一堆省略号,无论用户点击哪里。我正在努力做到这一点,所以当他点击一个时,它周围会显示一个黑色边框,直到他点击另一个。现在我只有它,所以当他点击一个时,边框会出现并停留在那里。
这是处理单击椭圆的函数。
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;
}
所有省略号都在一个列表中(节点类型)。
有什么想法吗?
【问题讨论】:
-
之前的中风是什么?为什么不能在分配新的
selectedNodeEllipse值之前将Stroke属性设置回原始值? -
Stroke 之前没有设置,所以它只是默认值。但我通过执行“selectedNodeEllipse.Stroke = default();”尝试了你所说的它一直说“类型预期”错误。
-
当然。如果不提供类型,则不能使用
default关键字。如果你没有明确设置Stroke,默认应该是null。所以只需使用它:selectedNodeEllipse.Stroke = null; -
哇,谢谢。不知道我怎么没听懂。我使用您的建议做了类似于沃尔特在下面所做的事情,并且奏效了。谢谢!
标签: c# wpf canvas mouseevent ellipse