NSOutlineView 使用代码中的动画展开/折叠项目

NSOutlineView Expand / Collapse item with animation from code

我有一个大纲视图,我需要在该视图中单击行中的任意位置时展开/折叠项目,我成功地做到了这一点,除了动画行为与单击显示三角形展开/折叠时不同。

public override bool ShouldSelectItem(NSOutlineView outlineView, NSObject item)
{
    if (outlineView.IsItemExpanded(item)) 
    {
       outlineView.CollapseItem(item, false);
    }
    else
    {
       outlineView.ExpandItem(item, false);
    }
    return false;
}

谁能帮我写下缺少的代码来实现想要的动画。提前致谢。

使用 NSOutlineView 的 Animator 代理:

获取对 Animator 的引用,将其转换为 NSOutlineView,然后调用您想要应用 "default" 动画的方法。

示例:

 (MyOutline.Animator as NSOutlineView).ExpandItem(MyOutline.GetChild(0, null), true);