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