【发布时间】:2011-09-27 12:36:07
【问题描述】:
朋友们,
我在 WPF 中遇到了一个我无法解决的问题。我有两个窗口,Mainwindow 和 Window1。我想将子窗口中的 ListView 绑定到父窗口中的控件属性。详细:
主窗口有一个在 XAML 中声明的控件,
<local:MyControl x:Name="View"/>
再往下,我有一个 Listview,它由“View”、“Session.Events”(可观察集合)的公共属性提供数据
<ListView ItemsSource="{Binding ElementName=View, Path=Session.Events}"/>
效果很好,但现在我有第二个窗口以这种方式从主窗口产生:
Window1 MyWin1 = new Window1();
MyWin1.Owner = this;
MyWin1.ShowDialog();
第二个窗口有一个 ListView,它也需要由我的“View”控件提供。我想通过装订来做到这一点,但我咬牙切齿。它不起作用,无论我尝试什么。我确实有一个通过代码隐藏的工作版本...
Window1 Parent = (Window1)this.Owner;
MyListView.ItemsSource = Parent.CCView.Session.Events;
但我更喜欢在 XAML 中进行绑定并保存额外代码。我也希望它能帮助我更好地理解绑定,这在某种程度上对我来说仍然是一个谜。
非常感谢您和我最诚挚的问候,
保罗
【问题讨论】:
标签: c# wpf xaml data-binding