Erste - ein Haftungsausschluss:Was wird zuerst ausgeführt: ToggleButton.IsChecked-Bindungsaktualisierung oder Befehlsbindung?
Wenn Sie diese Zeilen lesen, weil Sie beide eine Bindung für IsChecked und RelayCommand die Dinge zu ändern verwenden möchten, tun Sie wahrscheinlich es falsch. Sie sollten von der Bindung
Set()
Aufruf arbeiten.
Die Frage:
Ich habe einen ToggleButton, in dem es sowohl eine Bindung für IsChecked
und für eine Command
:
<ToggleButton IsChecked="{Binding BooleanBackedProperty}"
Command="{Binding SomeCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
CommandParameter="{Binding}" />
Ja - ich weiß, tsk tsk. Konnte nicht geholfen werden.
Wenn der Benutzer auf den ToggleButton klickt, den diese beiden zuerst auslösen sollen? Wird der Befehl ausgeführt oder wird die IsChecked-Bindung die gebundene Eigenschaft aktualisieren? Oder - ist das tatsächlich ähnlich dem Beitrag auf Social in which it creates a race condition?
@BradleyDotNET wies darauf hin, dass der Beitrag von social.msdn "ein wenig anders ist, denke ich, [in diesem] gibt es eine Wettlaufbedingung zwischen drei Befehlen". –