尝试使用单选按钮启用组合框时出了什么问题?
What is wrong when trying to enable a combobox using radiobuttons?
我正在尝试使用单选按钮来启用组合框,尽管 if 语句中有一个错误表明我无法添加 .Checked
或 .IsChecked
。据我所知,默认情况下不需要尚未添加到 类 的命名空间。
我试过完全照搬网上的教程,还是出现同样的错误,甚至出现更多的错误。
<Grid>
<ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="354,186,0,0" VerticalAlignment="Top" Width="120"/>
<RadioButton x:Name="rdoEnable" Content="Enable" HorizontalAlignment="Left" Margin="293,143,0,0" VerticalAlignment="Top"/>
<RadioButton x:Name="rdoDisable" Content="Disable" HorizontalAlignment="Left" Margin="471,143,0,0" VerticalAlignment="Top"/>
</Grid>
namespace RadioButtonTest
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string[] array = new string[] { "One", "Two", "Three" };
foreach (string number in array)
{
comboBox.Items.Add(number);
}
rdoEnable.Checked = true;
}
private void RdoEnable_Checked(object sender, RoutedEventArgs e)
{
if (rdoDisable.Checked)
{
comboBox.Enabled = false;
}
else
{
comboBox.Enabled = true;
}
}
}
}
我已经张贴了几个例子,如果有任何帮助,我会尝试imgur。
https://imgur.com/a/1sfqDfK
RadioButton.Checked
是一个事件,不能给它赋bool值,只能附加事件处理程序(方法,当事件引发时会调用)
RadioButton.IsChecked
是一个 属性,它给出了当前状态。它具有 Nullable<bool>
类型,因此条件应采用
形式
if (rdoDisable.IsChecked == true) {} else {}
或简单:
comboBox.IsEnabled = (rdoDisable.IsChecked == true);
我正在尝试使用单选按钮来启用组合框,尽管 if 语句中有一个错误表明我无法添加 .Checked
或 .IsChecked
。据我所知,默认情况下不需要尚未添加到 类 的命名空间。
我试过完全照搬网上的教程,还是出现同样的错误,甚至出现更多的错误。
<Grid>
<ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="354,186,0,0" VerticalAlignment="Top" Width="120"/>
<RadioButton x:Name="rdoEnable" Content="Enable" HorizontalAlignment="Left" Margin="293,143,0,0" VerticalAlignment="Top"/>
<RadioButton x:Name="rdoDisable" Content="Disable" HorizontalAlignment="Left" Margin="471,143,0,0" VerticalAlignment="Top"/>
</Grid>
namespace RadioButtonTest
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
string[] array = new string[] { "One", "Two", "Three" };
foreach (string number in array)
{
comboBox.Items.Add(number);
}
rdoEnable.Checked = true;
}
private void RdoEnable_Checked(object sender, RoutedEventArgs e)
{
if (rdoDisable.Checked)
{
comboBox.Enabled = false;
}
else
{
comboBox.Enabled = true;
}
}
}
}
我已经张贴了几个例子,如果有任何帮助,我会尝试imgur。 https://imgur.com/a/1sfqDfK
RadioButton.Checked
是一个事件,不能给它赋bool值,只能附加事件处理程序(方法,当事件引发时会调用)
RadioButton.IsChecked
是一个 属性,它给出了当前状态。它具有 Nullable<bool>
类型,因此条件应采用
if (rdoDisable.IsChecked == true) {} else {}
或简单:
comboBox.IsEnabled = (rdoDisable.IsChecked == true);