作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现 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)
}
}
我遇到的问题是类:[NSPasteboardItem.self]
。
Xamarin 方法的签名是:
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, NSPasteboardReading[], NSDictionary, NSDraggingEnumerator)
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, NSArray, NSDictionary, NSDraggingEnumerator)
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, IntPtr, NSDictionary, NSDraggingEnumerator)
如何为 classes
参数提供所需的参数?
最佳答案
看来xamarin版本不正确(查看github上的源码https://github.com/xamarin/xamarin-macios/blob/master/src/AppKit/NSDraggingSession.cs):
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, NSPasteboardReading[], NSDictionary, NSDraggingEnumerator)
因为类参数应该是类定义的数组而不是实例。使用此版本
EnumerateDraggingItems(NSDraggingItemEnumerationOptions, NSView, NSArray, NSDictionary, NSDraggingEnumerator)
类数组可以这样创建:
var classesArray = NSArray.FromIntPtrs(new IntPtr[] {
ObjCRuntime.Class.GetHandle(typeof(NSPasteboardItem))
});
尚未对此进行测试。
关于xamarin - 如何使用 Xamarin 中的 NSDraggingInfo.EnumerateDraggingItems?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59720746/
我正在实现 NSTableView 行拖放。我正在使用这里的示例 Drag & Drop Reorder Rows on NSTableView . 实际上进展得相当顺利,当我在表中拖动一行时,我的数
我是一名优秀的程序员,十分优秀!