[英]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.