我要在一个较长的周期内添加椭圆(添加了100个以上),并且我想知道在单击事件的周期内以相同的方式添加一个属性。
在for循环内:
var ellipse = new Ellipse();
ellipse.myValue=12; // this needs to be editable and working
....
ellipse.MouseDown += ellipseClick;
canvas2.Children.Add(ellipse);
这是监听器:
private void ellipseClick(object sender, MouseButtonEventArgs e)
{
if(myValue==12)
....
}
当然,这有点复杂,每个椭圆都需要一个指针或3个int值。
我不想遍历每个Ellipse并检查点击位置以及它是否与发送方相同。
我无法扩展Ellipse类,因为它是密封的,并且我无法在Ellipse类中重写代码。
最佳答案
您可以使用Tag
属性来存储其他信息。
ellipse.Tag = 12;
我希望这是您要的,但是根据您对我的问题的评论,您只想在每个椭圆中存储信息。
您可以创建一个包含所有所需信息的结构或类,只需将
Tag
设置为该类即可。它使您可以存储所需的任何内容。关于c# - 为椭圆添加属性以获取mouseevent C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13423086/