Databinding to Object Properties se casse lors du définition de Null pour s'opposer à Silverlight
-
14-11-2019 - |
Question
Échantillon de pseudocode:
<UserControl>
<ComboBox SelectedValuePath="Id" SelectedValue="{Binding CurrentObject.Id, Mode=TwoWay}" ItemSource="{Binding Groups}"/>
<ComboBox SelectedValuePath="Name" SelectedValue="{Binding CurrentObject.Status, Mode=TwoWay}" ItemSource="{Binding Statuses}"/>
</UserControl>
Je passe à l'objet de <MyObject>
Tapez à cet UserControl, en le modifiant puis en économisant. Après avoir fait ça, je réinitialise l'état avec CurrentObject = null
. En deuxième passe, ces combosés n'ont pas de valeurs sélectionnées, bien qu'il existe des données réelles. Comment puis-je le réparer?
Pas de solution correcte
Autres conseils
Vous devez toujours définir la source de données pour la liaison des données sur un objet, sinon la données ne fonctionnera pas. La liaison à NULL ne fonctionnera jamais.
Ne définissez pas CurrentObject sur NULL, mais peut-être définir le currentObject.id sur 0 et le réinitialiser à la valeur finale dès que vous le savez (par exemple sur la deuxième passe). Lorsque votre objet implémente InotifyPropertyChanged, les valeurs de l'interface utilisateur seront mises à jour.