2012-04-21 12 views
3

WillDisplayCellイベントを購読してNSTableViewの行の色を変更しようとしています。 まず、このイベントは発生しません。 第2に、NSTableView内のフィールドはもはや選択可能でなくなり、したがって機能は壊れてしまいます。 動作しないSelectionChangedイベントに対しても同じ動作が観察されます。MonoMacイベント - NSTable行の色を変更する

//NSTableView table 
table.SelectionDidChange += SelectionChanged; 
table.WillDisplayCell += WillDisplay; 

これらのイベントを動作させるにはどうすればよいですか?

ありがとうございました!これを解決するかどうかが、他の誰のために誰がすなわち

arrayController.AddObserver(this,new NSString("selectionIndexes"),NSKeyValueObservingOptions.New,IntPtr.Zero); 

そして、観測値のメソッドをオーバーライドし、解決策は、テーブルビューの例と同様にオブザーバーを追加することで、この渡って来る場合

+0

はまた、唯一のSelectionDidChangeと同じ問題に気付いなどの選択の変更を扱うので

NSNotificationCenter.DefaultCenter.AddObserver (this, new Selector ("selectionChanged"), "NSTableViewSelectionDidChangeNotification", yourTableView); 

などのオブザーバを登録します。 – eaglestorm

答えて

1

わからない

public override void ObserveValue (NSString keyPath, NSObject ofObject, NSDictionary change, IntPtr context) 
{ 
... 
} 

これは動作しますが、NSTableviewBindingの例では別の方法を使用していますが、それは私にとってはうまくいきませんでした。 AwakeFromNibで

+0

誰がarrayControllerですか? –

0

次に、あなたが言及したように

[Export("selectionChanged")] 
public void SelectionDidChangeNotification(NSObject o){ 
    ... 
} 
関連する問題