更改多边形颜色

时间:2015-07-14 06:31:46

标签: c# wpf

我正在从C#代码中添加MouseEnter事件处理程序,如下所示:

var polygon = new Polygon { StrokeThickness = 1, Fill = Brushes.Blue };
polygon.MouseEnter += new MouseEventHandler(p_MouseLeftButtonDown2);

...

void p_MouseLeftButtonDown2(object sender, MouseEventArgs e)
{
   MessageBox.Show("Entered");
}

如何在p_MouseLeftButtonDown2中更改多边形的颜色?

2 个答案:

答案 0 :(得分:2)

有很多方法可以解决这个问题。 我认为U R在WPF中真的很新,也许在C#中也是如此,所以我想为你提供以下解决方案:

void p_MouseLeftButtonDown2(object sender, MouseEventArgs e)
{
    Polygon poly = sender as Polygon;
    if (poly != null)
        poly.Fill = Brushes.Red;
}

奇特的方式是Storyboard

答案 1 :(得分:1)

将其放入p_MouseLeftButtonDown2方法:

((Polygon)sender).Fill = Brushes.Black; //whatever color you need

但是,如果我是你,我会研究用MVVM方法替换整个代码隐藏的可能性。