Die Datenbindung an Objekteigenschaften wird unterbrochen, wenn in Silverlight null auf Objekt gesetzt wird
-
14-11-2019 - |
Frage
Pseudocode-Beispiel:
<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>
Ich übergebe Objekt von <MyObject>
geben Sie dieses Benutzersteuerelement ein, ändern Sie es und speichern Sie es dann.Danach setze ich den Status mit zurück CurrentObject = null
.Beim zweiten Durchgang haben diese Kombinationsfelder keine ausgewählten Werte, obwohl tatsächliche Daten vorhanden sind.Wie kann ich es beheben?
Keine korrekte Lösung
Andere Tipps
Sie müssen immer die Datenquelle für die Datenbindung an ein Objekt festlegen, da sonst die Datenbindung nicht funktioniert.Die Bindung an null wird niemals funktionieren.
Setzen Sie currentobject nicht auf null, sondern setzen Sie möglicherweise das currentobject CurrentObject.Id auf 0 und setzen Sie es auf den endgültigen Wert zurück, sobald Sie wissen (z.beim zweiten Durchgang).Wenn Ihr Objekt INotifyPropertyChanged implementiert, werden die Werte auf der Benutzeroberfläche aktualisiert.