EDIT: S'il vous plaît se référer au code ci-dessous qui je crois serait plus proche de votre méthode et devrait résoudre vos problèmes .. Votre problème réside, je crois, dans les deux parties différentes. Vous essayez d'utiliser la variable isEnabled à la place de la variable de visibilité qui, je crois, est mieux adaptée à la tâche. Vous avez également essayé d'utiliser un opérateur d'équivilence (Equals) entre deux types de variables différents, car la sortie d'une case cochée ou décochée n'est pas une sortie booléenne, du moins pas de ce que j'ai vu de WPF.
private void Microsoft_CheckStateChanged(object sender, EventArgs e)
{
var resultFromCheckBox = sender as CheckBox; // This line acts as a link between the check box (i.e. Microsoft) and this function so you can use resultFromCheckBox instead of Microsoft.
if (resultFromCheckBox.CheckState == CheckState.Checked)
{
comboBox_Copy.Visibility = System.Windows.Visibility.Visible; // Sets box to visible if checkbox is selected
}
else
{
comboBox_Copy.Visibility = System.Windows.Visibility.Hidden; // Sets to hidden in all other cases i.e. when it is not selected.
}
}
Réponse précédente:
Le code que vous avez montré au moins dans Windows Forms, je suis assez sûr qu'il est similaire à WPF, permettrait le contrôle de devenir actif (il peut être interagi avec) . La variable de visibilité pourrait être plus utile.
Je crois que le code que vous recherchez est quelque chose le long des lignes de ce qui suit:
private void Microsoft_CheckStateChanged(object sender, EventArgs e)
{
if (comboBox_Copy.Visibility != System.Windows.Visibility.Visible)
{
comboBox_Copy.Visibility = System.Windows.Visibility.Visible;
}
else
{
comboBox_Copy.Visibility = System.Windows.Visibility.Hidden;
}
}
La propriété Visability affiche ou masque la boîte en question. Je l'ai juste fait alterner selon si la boîte était visible ou non en premier lieu. Vous pouvez alternativement utiliser les arguments d'événement pour vérifier si la case à cocher est cochée et répondre de cette façon.
Espérons que ça aide.