所以我基本上有一个堆栈面板,我正在使用一个 foreach 循环来遍历孩子,所有孩子都是“路径”格式,但有些是线条,有些是椭圆(或者至少在转换为路径之前) )
我的问题是,我怎么知道哪些是直线,哪些是椭圆?,我正在使用 isMouseOver 事件来检查鼠标是否在 Ellipses 上,以使它们在 MouseDown 上相应更改
private void GraphPanel_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
foreach (var x in GraphPanel.Children)
{
if (((Path)x).IsMouseOver)
{
var converter = new System.Windows.Media.BrushConverter();
var brush = (Brush)converter.ConvertFromString("#FFB1D100");
((Path)x).Stroke = brush;
((Path)x).StrokeThickness = 8;
}
else
{
((Path)x).Stroke = Brushes.Black;
((Path)x).StrokeThickness = 4;
}
}
}
}