Je tiens à lier à une propriété radioobutton.ischeckedecked, et cela ne fonctionne qu'une fois. Après cela, la liaison ne fonctionne pas, et je ne sais pas pourquoi cela se produit. Quelqu'un peut-il aider avec cela? Merci!
Ceci est mon code. P>
C # P>
<Grid>
<StackPanel>
<RadioButton Content="RadioButton1" IsChecked="{Binding IsChecked1}" />
<RadioButton Content="RadioButton2" IsChecked="{Binding IsChecked2}" />
</StackPanel>
</Grid>
4 Réponses :
Il est un malheureux Bug connu . Je suppose que cela a été corrigé dans WPF 4.0 donné le nouveau dépendancebject.setCurrentValue code> API, mais n'a pas vérifié. p>
Ah c'est juste horrible. Je suppose que je devrai revenir aux gestionnaires d'événements ... vous connaissez des solutions de contournement à part cela?
Utilisez une liste Code> Listbox Code> et Style chaque ListboxItem code> Pour ressembler à un radiobutton code>. code.msdn.microsoft.com/wpfradiobuttonlist
Je suppose que vous devez implémenter l'interface INOTIFYPROPERTYCHANGED
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
private bool _isChecked1 = true;
public bool IsChecked1
{
get { return _isChecked1; }
set
{
if (_isChecked1 != value)
{
_isChecked1 = value;
NotifyPropertyChanged("IsChecked1");
}
}
} // and the other property...
Voici une solution de travail: http: // PSTAEV. blogspot.com/2008/10/binding-ischecked-property-of.html . C'est une honte que Microsoft n'a pas corrigé cette erreur. P>
Juste un suivi de la réponse de Kent ici ... Cela a en fait été corrigé dans WPF 4.0., Je tire parti de ce comportement dans mon projet actuel. Le bouton radio désactivé a maintenant sa valeur de liaison définie sur FALSE, plutôt que de casser la liaison. P>