2014-09-30 49 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

省略號沒有背景屬性。他們具有填充屬性,您可以使用此代碼更改它們。

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

此代碼將更改被單擊的橢圓的填充屬性。

如果我沒有錯,你已經給橢圓添加了一個Click事件。省略號沒有Click屬性。您可以嘗試MouseLeftButtonUp事件。

+0

不要我必須指定手指指數還是會覆蓋所有的橢圓形? – 2014-09-30 13:48:09

+0

它不會改變 – 2014-09-30 13:49:53

+0

檢查我編輯的答案 – cKNet 2014-09-30 13:54:42

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))); 
相關問題