An einen Vorfahren in WPF binden
Ich habe ein Fenster in einer Assembly mit einem TextBlock-Steuerelement, das an den Wert einer Eigenschaft einer Klasse gebunden werden soll, die die Eigenschaft des DataContext des übergeordneten Fensters ist. Die Klasse, die als DataContext dient, wird nur in der zweiten Assembly definiert. Meine Frage ist, welchen Typ ich in meiner verbindlichen Anweisung als Typ angeben muss. Kann ich nur den Typ der DataContext-Eigenschaft verwenden, der für beide Assemblys gilt, oder muss ich den Typ des DataContext verwenden?
Das Folgende ist ein Prototyp, wie ich denke, dass es funktionieren sollte, aber da es nicht so ist, bin ich über etwas verwirrt:)
Assembly # 1
Fenste
<TextBlock
Text="{Binding RelativeSource={RelativeSource
AncestorType={x:Type client:Client}}, Path=Name }"/>
Assembly # 2
Application Shell
class Shell
{
public Client Client { get { return client; } set { client = value; } }
OnStartup()
{
NavigationWindow window = new NavigationWindow();
window.DataContext = this;
window.Navigate(GetHomeView());
}
}