在C#中运行时取消选中复选框时禁用文本框

Zar*_*rco 5 c# wpf

我有一个CheckBox和一个TextBox.在运行时期间,
如果CheckBox已选中,则启用TextBox.

我使用以下代码完成了它

private void checkTime_Checked(object sender, RoutedEventArgs e)
{
    if (checkTime.IsChecked == true)
    {
        txtTime_SR.IsEnabled = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要做的是,在运行时取消选中CheckBox时禁用TextBox.

这样做的任何想法?

Kek*_*Kek 10

阅读你的帖子和评论,我猜你正在做WPF或Silverlight.然后,在这种情况下,您可以在XAML中完成所有操作:

<CheckBox x:Name="checkTime" />
<TextBox x:Name="txtTime_SR" IsEnabled="{Binding IsChecked, ElementName=checkTime, Converter={StaticResource NotConverter}, Mode=OneWay}"/>
Run Code Online (Sandbox Code Playgroud)

然后,您需要创建转换器.这可以通过在这里阅读post来完成:如何在WPF中绑定反布尔属性?

希望能帮助到你


Dav*_*New 5

如果我理解,您希望在选中复选框时启用文本框,并在取消选中该复选框时禁用该文本框?

private void checkTime_Checked(object sender, RoutedEventArgs e)
{
    txtTime_SR.Enabled = checkTime.Checked;
}
Run Code Online (Sandbox Code Playgroud)

您使用的是标准的.NET TextBoxCheckBox控件吗?

编辑:好的,所以它是WPF.做这个:

private void checkTime_Checked(object sender, RoutedEventArgs e)
{
    txtTime_SR.IsEnabled = checkTime.IsChecked;
}
Run Code Online (Sandbox Code Playgroud)