【问题标题】:Show context menu for some items in NSOutlineView在 NSOutlineView 中显示某些项目的上下文菜单
【发布时间】:2013-08-22 22:33:08
【问题描述】:

我有一个 SourceList (NSOutlineView),我想显示一些项目的上下文菜单。环顾四周,我在 Cocoa 和 Obj-C 中找到了答案,但我正在尝试在 MonoMac 和 C# 中做到这一点。

在我看来,我需要做自己的自定义类,它继承自 NSOutlineView 并实现方法 MenuForEvent。但是当我尝试用我自己的自定义类替换旧的标准 NSOutlineView 时,运行时没有任何显示。在我的控制器中,我调用 View.ReplaceSubviewWith(oldTree, newTree)。

我需要做其他事情吗?或者也许还有另一种方法可以做到这一点?

【问题讨论】:

    标签: c# cocoa monomac


    【解决方案1】:

    与其尝试像那样交换实例,您应该能够以声明方式进行。

    确保您“注册”您的自定义大纲视图,例如:

    [Register("MySourceList")]
    private class MySourceList : NSOutlineView
    {
        // Need this constructor for items created in .xib
        public MySourceList(IntPtr handle) : base(handle)
        { }
    

    然后,在 Xcode 设计器中,选择您的大纲视图并指定您注册为该对象的自定义类的名称:

    这样,当您从 nib 创建视图时,运行时将首先创建大纲视图的正确实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      相关资源
      最近更新 更多