我有一个CheckBox和一个TextBox。在运行期间,
如果CheckBox已选中,则启用TextBox。
我是使用以下代码
完成的private void checkTime_Checked(object sender, RoutedEventArgs e)
{
if (checkTime.IsChecked == true)
{
txtTime_SR.IsEnabled = true;
}
}
我需要做的是,在运行时取消选中CheckBox时禁用TextBox。
有没有想过这样做?
答案 0 :(得分:10)
阅读你的帖子和评论,我猜你正在做WPF或Silverlight。 然后,在这种情况下,您可以在XAML中完成所有操作:
<CheckBox x:Name="checkTime" />
<TextBox x:Name="txtTime_SR" IsEnabled="{Binding IsChecked, ElementName=checkTime, Converter={StaticResource NotConverter}, Mode=OneWay}"/>
然后,您需要创建转换器。这可以通过阅读帖子来完成:How to bind inverse boolean properties in WPF?
希望有所帮助
答案 1 :(得分:5)
如果我理解,您希望在选中复选框时启用文本框,并且在取消选中该复选框时禁用该文本框?
private void checkTime_Checked(object sender, RoutedEventArgs e)
{
txtTime_SR.Enabled = checkTime.Checked;
}
您使用的是标准的.NET TextBox
和CheckBox
控件吗?
private void checkTime_Checked(object sender, RoutedEventArgs e)
{
txtTime_SR.IsEnabled = checkTime.IsChecked;
}
答案 2 :(得分:1)
更简单
<CheckBox Content="Include the following..." IsChecked="{Binding IncludeMyItems}" Name="checkBox_includeMyItems" />
<TextBox Name="myItems" Text="{Binding MyItems}" Height="23" Width="165" IsEnabled="{Binding IsChecked, ElementName=checkBox_includeMyItems}" />
答案 3 :(得分:0)
private void checkTime_Checked(object sender, RoutedEventArgs e)
{
txtTime_SR.Enabled = checkTime.Checked;
}
或强>
private void checkTime_Checked(object sender, RoutedEventArgs e)
{
txtTime_SR.IsEnabled = checkTime.IsChecked;
}
答案 4 :(得分:0)
我知道这是一个老帖子,但这应该有效。使用Checked / Unchecked事件。
private void checkbox_otherflag_Unchecked(object sender, RoutedEventArgs e)
{
this.textbox_otherflagtext.IsEnabled = false;
}
private void checkbox_otherflag_Checked(object sender, RoutedEventArgs e)
{
this.textbox_otherflagtext.IsEnabled = true;
}