2014-04-08 64 views
1

我有一個切換來更改字體屬性。在我的NSOutlineView中,我調用ReloadData將所有內容重新渲染。但是,如何強制NSCollectionView重新呈現。我試過重新加載數據NSCollectionView重寫項目視圖的等效

cvReader.NeedsLayout= true; 
cvReader.Layout(); 

cvReader.NeedsDisplay = true; 
cvReader.Display(); 

無濟於事。任何提示非常感謝。

更新。我也試過

cvReader.NeedsDisplay = true; 
cvReader.Window.ViewsNeedDisplay = true; 
cvReader.Window.FlushWindowIfNeeded(); 

以及再次分配內容。感覺就像項目視圖被緩存,而不是重新生成。也許有一種方法可以清除項目視圖緩存?

回答

3

原來,NSCollectionView項目視圖可以通過設置ItemPrototype,例如被刷新,

ItemPrototype = new SomeViewController() 

這將導致所有的現有的視圖中重新創建。

+0

非常感謝。這解決了我的問題! –