2014-09-30 2 views
0

У меня есть 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; 
} 

ответ

0

Эллипсы не имеют фоновых свойств. У них есть свойства Fill, и вы можете изменить их с помощью этого кода.

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

Этот код изменит свойство Fill для эллипса, на которое нажимается.

И если я не ошибаюсь, вы добавили событие Click в Ellipses. Эллипсы не имеют свойства Click. Вы можете попробовать MouseLeftButtonUp.

+0

у меня нет, чтобы указать указательный палец или будет переопределять все Ellipse? –

+0

Не меняется –

+0

проверить отредактированный ответ – cKNet

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))); 
Смежные вопросы