Wie Sie programmgesteuert hinzufügen WPF-Datenbindung zwischen DependencyProperty-Objekte, die auf 2 separate windows
Das problem ich habe, ist wahrscheinlich sehr einfach zu lösen, doch es scheint schwierig aus Anfänger Sicht.
Erstellte ich 2 Fenster gleichzeitig sichtbar, mit einer ListBox, eine andere mit TextBox. Ich möchte zu binden window1.ListBox.SelectedValue auf window2.TextBox.Text-Eigenschaft programmgesteuert ändern. Ich bin nicht mit Wert-Wandler.
Des Codes ist einfach:
var binding = new Binding("SelectedValue");
binding.Source = window1.ListBox;
// binding.Path = new PropertyPath(ListBox.SelectedValueProperty);
var bound = window2.TextBox.SetBinding(TextBlock.TextProperty, binding);
Ich möchte die Bindung mit DependencyProperty-Instanz anstelle der Eigenschaft name aus performance-Gründen, aber ich habe auch versucht, die Bindung von Namen. Die Bindung funktioniert einfach nicht.
Können Sie herunterladen dummy-VS2010-Projekt hier.
Dies führt zu einer weiteren Frage - wie die debug-Bindung, die Veranstaltung (falls vorhanden) zu abonnieren, um zu erkennen, Verbindlich verpasst ?
window1 wird als Hauptfenster, window2 erstellt wird, auf den ersten AppActivate.
InformationsquelleAutor too | 2012-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem gelöst - ich irrtümlich genannt SetBinding mit einem TextBlock.TextProperty, wenn es sein sollte das Textfeld ein.TextProperty.
InformationsquelleAutor too