等效的ReloadData for NSCollectionView重绘项目视图

时间:2014-04-08 20:04:12

标签: macos cocoa nscollectionview xamarin.mac

我有一个切换来更改字体属性。在我的NSOutlineView中,我调用ReloadData来重新渲染所有内容。但是,如何强制NSCollectionView重新渲染。我试过了

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

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

无济于事。任何提示都非常赞赏。

更新。我也试过

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

再次分配内容。感觉项目视图被缓存而不是重新生成。也许有办法清除项目视图缓存?

1 个答案:

答案 0 :(得分:4)

事实证明,可以通过设置ItemPrototype来刷新NSCollectionView项目视图,例如,

ItemPrototype = new SomeViewController()

这会导致重新创建所有现有视图。