Verwenden der Bindung für die Value-Eigenschaft der DataTrigger-Bedingung
Ich arbeite gerade an einer WPF-Anwendung und kämpft mit einem Daten-trigger. Ich möchte zum binden der Wert der trigger-Bedingung für ein Objekt ich haben:
<DataTrigger Binding="{Binding Foo}"
Value="{Binding ElementName=AnotherElement, Path=Bar}">..
Allerdings bin ich mir nicht erlaubt ist, wie es scheint nicht möglich zu sein, verwenden Sie die Bindungen für die Value-Eigenschaft. Ist es? Kann ich erreichen, das irgendwie? Ich bekomme die folgende Fehlermeldung:
Einer 'Bindung' kann nicht gesetzt werden, auf die 'Value' - Eigenschaft des Typs 'DataTrigger'. Eine 'Bindung' kann nur gesetzt werden, auf eine DependencyProperty eines DependencyObject.
InformationsquelleAutor der Frage stiank81 | 2010-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, es ist nicht möglich. Wie die Fehlermeldung sagt, nur dependency properties können als Ziele des WPF-bindings und DataTrigger.Wert ist nicht eine Abhängigkeitseigenschaft. So brauchen Sie weisen einen tatsächlichen Wert.
Die Problemumgehung ist die Verwendung eines MultiBinding deren Kind-Bindungen sind die zwei Bindungen, die Sie vergleichen wollen, mit einem IMultiValueConverter, die true zurückgibt, wenn die beiden Eingänge gleich sind und false, wenn Sie ungleich sind. Der DataTrigger dann verwenden können, MultiBinding, und den Wert True.
InformationsquelleAutor der Antwort itowlson
Nochmal die Antwort: hier ist ein Beispiel, wie es gemacht wird.
InformationsquelleAutor der Antwort BlazingFrog