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 ?

Sind deine beiden windows separat erzeugt in Ihrer App.xaml.cs? oder muss ein Fenster öffnen, das andere Fenster (also ein Fenster das übergeordnete Fenster eines anderen)?
window1 wird als Hauptfenster, window2 erstellt wird, auf den ersten AppActivate.

InformationsquelleAutor too | 2012-06-07

Schreibe einen Kommentar