WPF checkbox IsChecked verbindlich, OnpropertyChanged nicht funktioniert
Ich habe eine checkbox
meiner Ansicht nach und die Bindung auf, es ist in Ordnung, wenn ich irgendeine änderung an meinem Objekt und lösen die propertyChanged
Veranstaltung.
Auf der anderen Seite, wenn ich auf meine checkbox
führe ich eine gewisse Logik, wenn die Eigenschaft, wo es gebunden ist, geändert werden kann. Wenn nicht ändere ich es wieder auf False und lösen die propertyChanged
Veranstaltung.
Meiner Sicht nicht die Aktualisierung dieser Zustand der checbox und es wird immer noch geprüft.
Ist dies ein wissen, Probleme zu umgehen?
Code:
<ctrls:CheckBox
IsChecked="{Binding IsConverted, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Wenn ich ändern Sie den Wert und erhöhen die Eigenschaft change-Ereignis die Eigenschaft abgerufen, mit dem Wert false:
Private _isConverted As Boolean
Public Property IsConverted As Boolean
Get
Return _isConverted
End Get
Set(value As Boolean)
_isConverted = value
End Set
End Property
- Wo ist der code für die Logik, die Sie ausführen, und Ihre Anrufung des PropertyChanged-Ereignis?
- wo genau setzen Sie die INotifyPropertyChanged?!! Ich nicht wirklich verstehe, wo bekommt man den Nerv zu Stimmen, jemand elese Antwort, die sich auf Ihre eigene Frage!!! wenn Sie bereits wissen, die Antwort, warum fragst du dann?
- Mein setter ist viel mehr erweitert, und dann in meinem Beispiel-code. Es löst die Umwandlung der Objekt-und in einigen anderen Methoden, wenn die converion ist getan, ich trigger die Eigenschaft geändert hat. Der Blick fängt diese da breche ich auf die getter der Eigenschaft und es ist wieder falsch. Es ist dann nur nicht in der Ansicht aktualisiert
- Basierend auf Ihre Kommentare hier und die einzige Antwort gegeben, so weit, es ist viel zu gelassen für diese zu sein ein minimale reproduzierbare Beispiel. Wir müssen genug Kontext, um zu wissen, was Sie getan haben. Sie behaupten, dass Sie umgesetzt haben
INotifiyPropertyChanged
richtig, aber dein Beispiel schließt diese Möglichkeit aus. Sie behaupten auch, zu tun, eine Menge Umbauarbeiten in der property-setter. Wir können überprüfen, weder von diesen Dingen, oder sagen Sie, wenn diese die Ursache des Problems. Wir müssen sehen, dass der code, um zu wissen, wo das Problem liegt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrer Bindung in
Xaml
stellen Sie sicher, dassMode
eingestellt istTwoWay
so die updates in beide Richtungen arbeiten.Auch, dass du nun gepostet code, scheinen Sie, Dinge zu tun, "manuell", sollten umgesetzt werden, die über die Schnittstelle INotifyPropertyChanged. Können Sie drop die UpdateSourceTrigger-und nur die INotifyPropertyChanged implementieren, die in der ViewModel?
Gibt es eine gute Anleitung hier.
Bearbeiten:
Und weil das Plakat nicht bereit oder in der Lage zu Lesen und verstehen der Anleitung, hier kommt der code, der dort gepostet: