2014-02-25 3 views
0

Я борюсь за то, как переключаться между кнопками Toggle. Я хочу, чтобы это произошло, если нажать кнопку «Да», то кнопка «Нет» будет снята и наоборот. Сейчас он позволяет пользователю выбирать оба варианта, которые я не хочу делать. Кроме того, Unchecked используется в неправильном формате, и он говорит, что он должен появляться только слева от + = или - =, noTBU.Unchecked = true; & yesTBU.Unchecked = true; Я не уверен, что понимаю это? Я думал, что он возвращает true или false?Как правильно переключаться между кнопкой Toggle с помощью Yes/No?

// method to handle all Toggle Button tap events 
    private void ToggleButton_Tap(object sender, System.Windows.Input.GestureEventArgs e) 
    { 
     if(yesTBU.IsPressed) 
     { 
      // add selected value to text 
      // disable noTBU toggle 
      //noTBU.IsChecked = false; 
      yesTBU.IsChecked = true; 
      noTBU.Unchecked = true; 

      if(noTBU.IsPressed) 
      { 
       yesTBU.IsChecked = false; 
      } 
     } 
     if(noTBU.IsPressed) 
     { 
      // add selected value to text 
      // disable yesTBU toggle 
      //yesTBU.IsChecked = false; 
      noTBU.IsChecked = true; 
      yesTBU.Unchecked = true; 

      if(yesTBU.IsPressed) 
      { 
       noTBU.IsChecked = false; 
      } 
     } 
     // makes dynamic changes immediately in UI 
     if(yesTBU.IsChecked == false && noTBU.IsChecked == false) 
     { 
      // message box and text font change or Not Specified 
      disabilityTBL.Text = "Are you disabled? *"; 
      disabilityTBL.Foreground = new SolidColorBrush(Colors.Red); 
      disabilityTBL.FontWeight = FontWeights.Bold; 
     } 
     else 
     { 
      // set back to default layout 
      this.disabilityTBL.ClearValue(TextBlock.ForegroundProperty); 
      this.disabilityTBL.ClearValue(TextBlock.FontWeightProperty); 
      this.disabilityTBL.Text = "Are you disabled?"; 
     } 
    } 

ответ

1

Unchecked - событие, не являющееся общим достоянием. += и -= - соответственно обозначение для прикрепления и отсоединения обработчика события от события.

Вместо установки Unchecked = true; я думаю, что вы хотите установить IsChecked = false;:

noTBU.IsChecked = false; 
//instead of noTBU.Unchecked = true; 

UPDATE:

Если вы используете то же обработчик событий для обработки Tap события как ToggleButtons, вы можете получить в настоящее время похлопали кнопка от sender параметр. Итак, как насчет этого способа:

private void ToggleButton_Tap(object sender, System.Windows.Input.GestureEventArgs e) 
{ 
    //if currently tapped button is yesTBU 
    if(sender == yesTBU) 
    { 
     //set noTBU to opposite value of yesTBU 
     noTBU.IsChecked = !yesTBU.IsChecked; 
    } 
    //else if currently tapped button is noTBU 
    else 
    { 
     //set yesTBU to opposite value of noTBU 
     yesTBU.IsChecked = !noTBU.IsChecked; 
    } 
} 
+1

Спасибо! Я буду держать этого отправителя объекта в виду, чтобы манипулировать событиями соответственно. – TheAmazingKnight

Смежные вопросы