C# 如何更改栅格上点的颜色

C# 如何更改栅格上点的颜色,c#,wpf,C#,Wpf,我有一个网格,上面有一堆叫做“GraphPanel”的“路径”,我试图找出当你点击网格,然后把它的“填充”改为绿黄色时鼠标在哪一个上面,我使用的是一个静态变量“\u HitBox”,值是2(这并不重要) 成功运行,但点填充的颜色再次没有改变 此外,我还尝试在更改后添加GraphPanel.UpdateLayout(),但在经过长期的研究和确定,并在互联网上搜索任何关于实际f$!%的线索或想法后,这些更改也没有起到任何作用我的代码有问题吗 .Fill只是愤怒的微软开发人员的一个把戏,他们憎恨自己的

我有一个网格,上面有一堆叫做“GraphPanel”的“路径”,我试图找出当你点击网格,然后把它的“填充”改为绿黄色时鼠标在哪一个上面,我使用的是一个静态变量“\u HitBox”,值是2(这并不重要)

成功运行,但点填充的颜色再次没有改变


此外,我还尝试在更改后添加
GraphPanel.UpdateLayout()
,但在经过长期的研究和确定,并在互联网上搜索任何关于实际f$!%的线索或想法后,这些更改也没有起到任何作用我的代码有问题吗

.Fill
只是愤怒的微软开发人员的一个把戏,他们憎恨自己的生活,希望别人永远痛苦


.Stroke
是编辑填充的方式

你画这些椭圆的半径是多少?当你说“网格上点的颜色”时,你可能会猜到椭圆半径为零,在这种情况下填充不起作用。你应该立即阅读,而且还要继续阅读。当然,网格并不是绘制具有绝对位置的点的完美容器。
System.Windows.Point P = e.GetPosition(GraphPanel);

 var PointsToColor = from children in GraphPanel.Children.OfType<Path>()
                               where children.Data is EllipseGeometry &&
                               P.X > (((EllipseGeometry)children.Data).Center.X - _HitBoxSize) && 
                               P.X < (((EllipseGeometry)children.Data).Center.X + _HitBoxSize) && 
                               P.Y > (((EllipseGeometry)children.Data).Center.Y - _HitBoxSize) && 
                               P.Y < (((EllipseGeometry)children.Data).Center.Y + _HitBoxSize)
                               select children;




           foreach (var p in PointsToColor)
           {
               p.Fill = Brushes.GreenYellow;
               break;
           }
Path test = ((Path)GraphPanel.Children[GraphPanel.Children.IndexOf(p)]);
test.Fill = Brushes.GreenYellow;
GraphPanel.Children[GraphPanel.Children.IndexOf(p)] = test;