WPF,取消选中时隐藏文本框

时间:2015-12-21 21:28:47

标签: c# wpf visual-studio

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

这是我的代码

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;
        }
    }

2 个答案:

答案 0 :(得分:2)

只需使用以下内容:

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

将此添加到CheckChanged事件中,如下所示:

checkBox.CheckedChanged += checkBox_CheckChanged;

答案 1 :(得分:1)

您可以尝试以下解决方案 - > Binding to a WPF ToggleButton's IsChecked state

该解决方案基本上将复选框与要使用转换器而不是代码隐藏在xaml上的内容相关联。