Что не так при попытке включить комбинированный список с помощью радиокнопок? - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь использовать радиокнопки для включения комбинированного списка, хотя в операторе 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;
            }
        }
    }
}

Я опубликовал несколько примеров вещей, которые я пытался опровергнуть, если это поможет. https://imgur.com/a/1sfqDfK

1 Ответ

1 голос
/ 25 октября 2019

RadioButton.Checked - это событие, вы не можете присвоить ему значение bool, только прикрепить обработчик события (метод, который будет вызываться при возникновении события)

RadioButton.IsChecked - это свойство, которое дает текущийгосударство. Он имеет тип Nullable<bool>, поэтому условие должно быть в форме

if (rdoDisable.IsChecked == true) {} else {}

или просто:

comboBox.IsEnabled = (rdoDisable.IsChecked == true);
...