簡體   English   中英

在NSOutlineView中顯示某些項目的上下文菜單

[英]Show context menu for some items in NSOutlineView

我有一個SourceList(NSOutlineView),我想顯示某些項目的上下文菜單。 環顧四周,我在Cocoa和Obj-C中找到了答案,但是我試圖在MonoMac和C#中做到這一點。

在我看來,我需要做一個自己的自定義類,該類繼承自NSOutlineView並實現MenuForEvent方法。 但是,當我嘗試用自己的自定義類替換舊的標准NSOutlineView時,在運行時沒有任何顯示。 在我的控制器中,我調用View.ReplaceSubviewWith(oldTree,newTree)。

我還需要做其他事情嗎? 也許還有另一種方法可以做到這一點?

不必嘗試像這樣交換實例,您應該能夠聲明性地進行操作。

確保您“注冊”您的自定義輪廓視圖,例如:

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

然后,在Xcode設計器中,選擇大綱視圖,並指定您注冊為該對象的Custom Class的名稱:

在此處輸入圖片說明

這樣,當您從筆尖創建視圖時,運行時將首先創建輪廓視圖的正確實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM