我有一个切换来更改字体属性。在我的NSOutlineView中,我调用ReloadData来重新渲染所有内容。但是,如何强制NSCollectionView重新渲染。我试过了
cvReader.NeedsLayout= true;
cvReader.Layout();
cvReader.NeedsDisplay = true;
cvReader.Display();
无济于事。任何提示都非常赞赏。
更新。我也试过
cvReader.NeedsDisplay = true;
cvReader.Window.ViewsNeedDisplay = true;
cvReader.Window.FlushWindowIfNeeded();
再次分配内容。感觉项目视图被缓存而不是重新生成。也许有办法清除项目视图缓存?
答案 0 :(得分:4)
事实证明,可以通过设置ItemPrototype来刷新NSCollectionView项目视图,例如,
ItemPrototype = new SomeViewController()
这会导致重新创建所有现有视图。