保存后如何将原始椭圆颜色更改为绿色

时间:2014-09-30 13:32:36

标签: c# wpf

我有5个红色圆圈,红色,用户将一次选择一个。现在我想在保存后将选定的椭圆更改为绿色。我该怎么做?

private void Right1_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    nfingerIndex = 1;
}

private void Right2_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    nfingerIndex = 2;
}

private void Right3_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    nfingerIndex = 3;
}

private void Right4_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    nfingerIndex = 4;
}

private void Right5_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    nfingerIndex = 5;
}

2 个答案:

答案 0 :(得分:0)

Ellipses没有Background属性。它们具有Fill属性,您可以使用此代码更改它们。

 private void Right1_Click(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        nfingerIndex = 1;
        ((Ellipse)sender).Fill = new SolidColorBrush(Colors.Green);
    }

此代码将更改单击的Ellipse的Fill属性。

如果我没错,你已经向Ellipses添加了一个Click事件。 Ellipses没有Click属性。您可以尝试MouseLeftButtonUp事件。

答案 1 :(得分:0)

这是我的问题的解决方案。我设法像这样做了

 private void invokeControlColour(int FingerIndex)
    {
        try
        {
            switch (FingerIndex)
            {
                case 1:
                    {
                        Right1.Fill = Brushes.Green;
                        break;
                    }
                case 2:
                    {
                        Right2.Fill = Brushes.Green;
                        break;
                    } 
                case 3:
                    {
                        Right3.Fill = Brushes.Green;
                        break;
                    } 
                case 4:
                    {
                        Right4.Fill = Brushes.Green;
                        break;
                    } 
                case 5:
                    {
                        Right5.Fill = Brushes.Green;
                        break;
                    } 

并像这样调用它

               Dispatcher.Invoke(new Action(() => invokeControlColour(nfingerIndex)));