Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF,未选中时隐藏文本框_C#_Wpf_Visual Studio - Fatal编程技术网

C# WPF,未选中时隐藏文本框

C# WPF,未选中时隐藏文本框,c#,wpf,visual-studio,C#,Wpf,Visual Studio,当复选框值为true时,我尝试隐藏文本框,我已经这样做了,但是如果未选中,文本框不会隐藏,我可以做些什么来解决这个问题 这是我的密码 private void textBox4_TextChanged(object sender, TextChangedEventArgs e) { } private void checkBox_Checked(object sender, RoutedEventArgs e) { Handle(sender a

当复选框值为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;
        }
    }

用这样的方法:

private void checkBox_CheckChanged(object sender, RoutedEventArgs e)
{
    textBox4.Visibility = (checkBox.IsChecked) ? Visibility.Visible : Visibility.Hidden;
}
checkBox.CheckedChanged += checkBox_CheckChanged;
将其添加到CheckChanged事件,如下所示:

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

您可以尝试以下解决方案->


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

如何订阅选中/取消选中事件?您不。。。使用XAML/WPF,可以将IsChecked属性绑定到视图模型中的属性。