我正在实现 NSTableView 行拖放。我正在使用这里的示例Drag & Drop Reorder Rows on NSTableView。
实际上,当我在表中拖动一行时,我的数据源方法被调用,这实际上进展得相当顺利。但是,我在使用 Xamarin 中的 NSDraggingInfo.EnumerateDraggingItems 方法时遇到了问题。
示例 Swift 代码是:
info.enumerateDraggingItemsWithOptions([], forView: tableView, classes: [NSPasteboardItem.self], searchOptions: [:]) {
if let str = ($0.0.item as! NSPasteboardItem).stringForType("public.data"), index = Int(str) {
oldIndexes.append(index)
}
}
我遇到的问题是classes: [NSPasteboardItem.self]
.
Xamarin 方法的签名是:
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, NSPasteboardReading[], NSDictionary, NSDraggingEnumerator)
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, NSArray, NSDictionary, NSDraggingEnumerator)
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, IntPtr, NSDictionary, NSDraggingEnumerator)
如何为参数提供所需的classes
参数?