Frage

XAML können Sie einen Attributwert unter Verwendung einer Zeichenfolge angeben, die geschweiften Klammern enthält. Hier ist ein Beispiel, das eine schafft Bindung Instanz und weist sie den Text Eigenschaft des TextBox -Element.

<TextBox Text="{Binding ElementName=Foo, Path=Bar}"/>

Ich möchte XAML erweitern, so dass der Entwickler diese geben könnte als gültig ...

<TextBox Text="{MyCustomObject Field1=Foo, Field2=Bar}"/>

Dies würde eine Instanz meiner Klasse erstellen und die Field1 / Field2 Eigenschaften entsprechend eingestellt. Ist das möglich? Wenn ja, wie Sie es tun?

Wenn dies möglich ist, ich habe eine Followup Frage. Kann ich einen String nehmen "{Binding Elementnamen = Foo, Path = Bar}" und den Rahmen bitten, es zu verarbeiten und das Rück die Die Bindung Instanz spezifiziert? Dies muss irgendwo bereits getan werden, um die oben XAML Arbeit zu machen und so muss es eine Möglichkeit zu fragen, für die gleiche Sache verarbeitet werden.

Andere Tipps

Die Binding Klasse ist eine Markup Erweiterung . Sie können Ihre eigenen durch Ableiten von System.Windows.Markup.MarkupExtension schreiben.

ElementName und Path sind einfach Objekte auf dem Binding Objekt.

Wie für die Followup können Sie einen neuen Binding in Code erstellen, indem Sie das Binding Objekt zu erhalten. Ich weiß nicht, von einer Art und Weise eine Schnur durch zu verarbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top