WPF-Bind-element im übergeordneten Fenster
Ich versuche sich zu binden Elements-Eigenschaft, die in einem untergeordneten Steuerelement ein element die Eigenschaft ina übergeordnete Fenster, es funktioniert nicht..
Hier ist png von dem, was ich versuche zu tun:
Hier ist der xaml-Code, der nicht funktioniert:
CurrentDate="{Binding ElementName=TimeBar, Path=SelectionStart,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}"
Dank.
- Sie können nicht
ElementName
undRelativeSource
zusammen. - Mit ElementName nicht erfordern, dass Sie RelativeSource, weglassen RelativeSource und es sollte funktionieren..
- Wenn ich das weglasse die RelativeSource ich bekomme nicht mehr die Ausnahme. aber die Ausgabe-Fenster druckt eine Fehlermeldung "System.Windows.Data Error: 4 : Cannot find source für die Bindung mit der Referenz 'ElementName=Zeitleiste'"
Du musst angemeldet sein, um einen Kommentar abzugeben.
erstellen Sie eine Abhängigkeitseigenschaft in Ihrem usercontrol und dann binden Sie Sie in Ihr Fenster
sowas: DependencyProperty-Implementierungen finden Sie alles rund um hier auf stackoverflow
xaml Fenster
auf der Grundlage der folgenden Antwort LINK die SelectionStart ist keine Bindbare Probperty standardmäßig, so müssen Sie einen angeschlossenen Verhalten oder etwas ähnliches
Binding ElementName zusammen mit Relativ Quelle ist nicht der richtige Ansatz.
Neben dem UserControl nicht kennen, der ElementName der Eltern, da die beiden in verschiedenen XAML.
Einen Ansatz zu setzen, ist der Daten-Kontext der Benutzer-Steuerung, mit der element-name, den Sie möchten, binden Sie es auf und verwenden Sie anschließend den binding Path.
Wie im Beispiel unten gezeigt:
Im Hauptfenster haben wir eine textbox und ein Benutzer-Steuerelement.
Wir setzen Daten-Kontext der Benutzer-Steuerelement mit dem text box.
In dem Benutzer die Kontrolle, wir sind die Bindung der Text-Eigenschaft DataContext (was im wesentlichen TextBox des Hauptfensters).