我試圖將一個簡單的樹結構綁定到Win 8(以前稱爲)Metro應用程序中的ItemsControl的itemsSource。 我的結構實現了INotifyPropertyChanged接口,並且當它的任何子節點發生變化時也會通知它。作爲ItemsControl的ItemsSource的樹結構
我試着製作一個轉換器,它將我的樹變成了一個ObservableCollection,但創建綁定後,它不會刷新。
我做了如下的測試項目,以顯示我想什麼: https://skydrive.live.com/redir?resid=970FFC53F4B7A598!146
在這個簡單的項目的問題,如果你按下底部的應用程序欄上的添加按鈕,它在創建新的子層次結構,但ListView不刷新。
我想念的是什麼,或者我該怎麼做?
您可以發佈CompositeCollection和CollectionContainers解決方案的示例嗎? –
嗯。我想在WinRT中沒有CompositeCollection和CollectionContainer類。我的問題是,我有一個面板,它定製了它的兒童佈局。它很容易與ItemsControl一起使用,但如果我使用上面的解決方案保留層次結構,我不知道如何進行佈局。 –
@adam_gav:這很不幸,你當然可以實現你自己的。我想我已經充分解釋了轉換器的問題,您需要保留對原始集合的引用並對其「CollectionChanged」事件做出反應。複合集合並不僅僅是轉發其子集合的事件。 –