2
我有一个问题,我只是无法解决的WPF。我有两个窗口,主窗口和Window1。我想将我的子窗口中的ListView绑定到父窗口中的控件属性。详细介绍:
主窗口在XAML中声明的控制,
<local:MyControl x:Name="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中的绑定并保存额外的代码。另外我希望它能帮助我更好地理解绑定,这对我来说仍然是一个谜。
非常感谢你和我的问候,
保罗
嗨flq,感谢提示!我将它包含在内,但是如何在Window1中运行实际的绑定?我试过ItemsSource =“{Binding ElementName = View,Path = Session.Events}”和一堆其他的东西,但我不能让它工作... – hpalu
hm,看起来像你不使用DataContext?不过,这样做你会知道你的绑定是指什么。如果例如你的DataContext是Session,绑定是'{Binding Events}' - DataContext从逻辑树中一直继承下来 – flq
:D就是这样,非常感谢! – hpalu