2015-12-21 3 views
0

Как я могу вернуть значение, когда флажок снят? Я заметил, что вам нужно создать конвертер, но есть ли более простой способ сделать это?WPF возвращаемое значение из checkbox unchecked event

XAML

<Grid> 
     <TextBox x:Name="textBox4" Visibility="Hidden" HorizontalAlignment="Left" Height="23" Margin="149,135,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="43" TextChanged="textBox4_TextChanged"/> 
     <CheckBox x:Name="checkBox" Content="Party?(4 or more)" HorizontalAlignment="Left" Margin="33,135,0,0" VerticalAlignment="Top" Checked="checkBox_Checked" Width="116" Height="23"/> 

    </Grid> 

C#

private void checkBox_Checked(object sender, RoutedEventArgs e) 
     { 
      Handle(sender as CheckBox); 
     } 
     private void checkBox_Unchecked(object sender, RoutedEventArgs e) 
     { 
      Handle(sender as CheckBox); 
     } 

     void Handle(CheckBox checkBox) 
     { 
      bool chkd = checkBox.IsChecked.Value; 

      if (chkd) 
      { 
       textBox4.Visibility = Visibility.Visible; 
       textBox6.IsEnabled = IsEnabled.Equals(false); 
      } 
      else 
      { 
       textBox4.Visibility = Visibility.Hidden; 
      } 
+0

Вы используете MVVM? –

+0

Можете ли вы показать XAML, что у вас есть, и любой другой код, который, по вашему мнению, имеет отношение к проблеме? –

+0

@GrantWinney обновлен – Wigord

ответ

-1

Добавить обработчик для незарегистрированного события в вашей XAML, и ваш код будет вызван.

Отрывок:

Unchecked="checkBox_Unchecked" 

Complete:

<CheckBox x:Name="checkBox" Content="Party?(4 or more)" HorizontalAlignment="Left" Margin="33,135,0,0" VerticalAlignment="Top" Checked="checkBox_Checked" Unchecked="checkBox_Unchecked" Width="116" Height="23"/> 

При работе с блоком управления/событий и помочь выяснить, что есть в наличии, появится окно свойств и событий, как показано на рисунке ниже:

enter image description here

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