2015-12-21 100 views
2

我正在尝试隐藏文本框,当checkbox值为true时,我已经完成了,但未选中时文本框不隐藏我可以做些什么来解决这个问题?WPF,未选中时隐藏文本框

这里是我的代码

private void textBox4_TextChanged(object sender, TextChangedEventArgs e) 
    { 
    } 

    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; 
     } 
     else 
     { 
      textBox4.Visibility = Visibility.Hidden; 
     } 
    } 
+0

你如何订阅检查/取消选中事件? – Valentin

+0

您不......使用XAML/WPF,您可以将IsChecked属性绑定到视图模型中的属性。 – aggietech

回答

2

只要使用这样的事情:

private void checkBox_CheckChanged(object sender, RoutedEventArgs e) 
{ 
    textBox4.Visibility = (checkBox.IsChecked) ? Visibility.Visible : Visibility.Hidden; 
} 

一下添加到CheckChanged事件是这样的:

checkBox.CheckedChanged += checkBox_CheckChanged;