在WPF中绑定到祖先

19 浏览
0 Comments

在WPF中绑定到祖先

我在一个程序集中有一个窗口,窗口中有一个TextBlock控件,我想将它绑定到父窗口的DataContext的一个类的属性的值上。作为DataContext的类只在第二个程序集中定义。我的问题是,在绑定语句中,我需要指定什么类型作为类型。我可以使用这两个程序集之间共有的DataContext属性的类型,还是需要使用DataContext的类型?

下面是我认为应该如何工作的原型,但由于它没有工作,我对某些事情感到困惑:)

程序集#1

窗口

Text="{Binding RelativeSource={RelativeSource

AncestorType={x:Type client:Client}}, Path=Name }"/>

程序集#2

应用程序外壳

class Shell

{

public Client Client { get { return client; } set { client = value; } }

OnStartup()

{

NavigationWindow window = new NavigationWindow();

window.DataContext = this;

window.Navigate(GetHomeView());

}

}

0