c# - Xamarin.Mac 停靠图标不接受拖放文件
问题描述
我的应用程序不接受像其他应用程序一样在 Dock 图标上拖放文件。
例如,Visual Studio for Mac 中的 Dock 图标接受文件,但是当我构建和运行默认项目时,它不接受 Dock 图标的拖放。
也许我需要在 Xcode 中配置一些东西,但我该怎么做呢?
另外,我应该编写什么样的代码来接收拖放到停靠图标的文件路径ViewController
?
解决方案
我自己解决了这个问题。
首先,info.plist
在您的项目中打开并单击Advanced
窗口底部的选项卡,然后Add Document Type
单击按钮。
Document
在项目中选择Class
,对于Identifier
,输入public.item
。对于Role
,将其设置为None
。
然后,您将能够将其拖放到 Dock 图标上。
然后编写代码可以在程序端接收拖放的文件。
AppDelegate.cs
public override void OpenUrls(NSApplication application, NSUrl[] urls)
{
//base.OpenUrls(application, urls);
var alert = new NSAlert();
alert.MessageText = "AppDelegate.OpenUrls()";
alert.InformativeText = urls[0].AbsoluteString;
alert.AddButton("Ok");
alert.RunModal();
}
参考。https://forums.xamarin.com/discussion/158538/xamarin-mac-appdelegate-openurls-not-invoked
现在您可以接收和查看有关拖放文件的信息。
推荐阅读
- r - ggplot2 中缺少 x 轴组名称
- python - 如何为 Postgres Mac 终端设置 DATABASE_URL 环境变量?
- javascript - CSS 转换未按预期触发
- python - 弹丸不会变成图像错误如何修复?
- garbage-collection - 在 valgrind 和 jvm 中测量经过的时间
- javascript - javascript this 在方法中未定义
- java - 如何将具有一对一关系 pojo(ROOM 实现)与 safeArgs 的 List<> 传递到目的地
- git - GitAhead:意外的 HTTP 状态代码:404
- java - 如何让按钮适应 Android Studio 中的任何屏幕尺寸
- python - 在 Windows 10 x64 上从命令行运行 GDAL