Configuration:Mainaining sélection radio après le changement de source d'élément
J'ai un combo-box, il est ItemSource lié à un ObservableCollection < T> d'une classe personnalisée, une propriété est une liste < MyEnum>.
J'ai un itemcontrol qui est databound à l'élément sélectionné de la combo-box Liste < myenum> propriété.
Le datatemplate itemscontrol crée une liste de radiobuttons, chacun représentant les valeurs enum individuelles de la liste.
Le désir:
Quand je change la valeur dans la liste déroulante la source de ItemsControl est mis à jour. Ce que je veux faire, c'est si un bouton radio dans la nouvelle source itemscontrol est le même que le radiobuton sélectionné dans la liste précédente (avant qu'il ne soit mis à jour), ceci doit être vérifié.
Idée actuelle:
Asign un événement vérifié aux boutons radio, qui maintient une propriété MyEnum dans la classe de fenêtre qui peut être comparée. Rendre la propriété IsChecked du radiobox lié à un convertisseur et comparer avec la propriété myenum. Pour y parvenir, j'ai fait en sorte que la classe de fenêtre s'étende de IValueConverter, de cette façon la fonction de conversion a accès à la propriété myenum.
Problème:
Je ne sais pas comment obtenir le IsChecked se liant à utiliser la fenêtre comme le convertisseur. Je l'ai essayé d'utiliser source par rapport à la partie de conversion de la liaison, mais cela ne fonctionne pas IsChecked="{Binding Converter={RelativeSource={RelativeSource Self}}}"
Réponses préférées:
Assistance à la correction de la syntaxe de liaison s'il est possible de cette façon.
Idées d'un moyen plus approprié d'atteindre ce que je voudrais.
C'est la route que j'ai pris à la fin. A dû changer la liaison à Mode = OneWay aussi bien. Mais tout fonctionne maintenant. – Psytronic