Ist es möglich, den Wert hinter einer bidirektionalen Bindung direkt festzulegen, ohne die gebundene Eigenschaft zu kennen?Setzen Sie den Bindungswert direkt
Ich habe eine angefügte Eigenschaft, die auf eine Eigenschaft wie folgt gebunden ist:
<Element my:Utils.MyProperty="{Binding Something}" />
Jetzt möchte ich den Wert ändern, die effektiv in Something
aus der Perspektive der angefügten Eigenschaft gespeichert ist. So kann ich nicht direkt auf die gebundene Eigenschaft zugreifen, sondern habe nur Referenzen auf die DependencyObject
(d. H. Die Element-Instanz) und das DependencyProperty
Objekt selbst.
Das Problem, wenn Sie einfach über DependencyObject.SetValue
setzen ist, dass dies effektiv die Bindung entfernt, aber ich möchte die zugrunde liegende gebundene Eigenschaft ändern.
Mit BindingOperations
kann ich sowohl die Binding
als auch die BindingExpression
bekommen. Gibt es nun eine Möglichkeit, auf die Eigenschaft dahinter zuzugreifen und ihren Wert zu ändern?
Haben Sie schrieb die Angebrachtes-prop sich wie in können Sie seine PropertyMetadata ändern? Ich denke nicht? –
@HellScream Ja, ich schreibe die Eigenschaft selbst, damit ich die Metadaten ändern kann, wenn das hilft. – poke