MonoMac 事件 - 更改 NSTable 行的颜色
本文关键字:颜色 NSTable 更改 事件 MonoMac | 更新日期: 2023-09-27 18:31:55
我正在尝试通过订阅WillDisplayCell事件来更改NSTableView中的行颜色。首先,此事件永远不会引发。其次,NSTableView 中的字段不再可选,因此功能被破坏。对于不起作用的 SelectionChanged 事件,可以观察到相同的行为。
//NSTableView table
table.SelectionDidChange += SelectionChanged;
table.WillDisplayCell += WillDisplay;
如何使这些活动发挥作用?
谢谢!
不确定您是否解决了这个问题,但对于遇到此问题的其他任何人,解决方案是添加一个类似于表视图示例的观察者,即
arrayController.AddObserver(this,new NSString("selectionIndexes"),NSKeyValueObservingOptions.New,IntPtr.Zero);
然后覆盖观察值方法
public override void ObserveValue (NSString keyPath, NSObject ofObject, NSDictionary change, IntPtr context)
{
...
}
这有效,但NSTableviewBinding示例使用不同的方法,但这对我不起作用。
在 AwakeFromNib 中像这样注册观察者
NSNotificationCenter.DefaultCenter.AddObserver (this, new Selector ("selectionChanged"), "NSTableViewSelectionDidChangeNotification", yourTableView);
然后像这样处理选择更改
[Export("selectionChanged")]
public void SelectionDidChangeNotification(NSObject o){
...
}