复制几何到剪贴板

90
3.
一周前
TorBø资源集
新贡献者II

你好

我试图实现一个功能,用户可以复制一个几何到剪贴板,然后将这个几何粘贴到一个现有的特征层与正确的几何类型使用“粘贴特殊”。

然而,我真的在努力寻找一个解决方案。我在API中找到了ClipboardItem类,但我不确定如何将几何图形作为几何对象或特征对象复制到剪贴板。

如果这里有人已经做到了,我很高兴能得到一些建议。

非常感谢你的时间

Tor

标签(3)
0荣誉
3回复
GintautasKmieliauskas
定期贡献者II

你好,

我认为你需要首先序列化几何到文本(xml, json),然后使用clipboard. settext(几何. tojson())把它放在剪贴板。

在另一端从剪贴板得到形状使用下面的示例代码(点):

字符串几何文本= Clipboard.GetText();MapPoint point = mappointment builder . fromjson(几何文本);

0荣誉
TorBø资源集
新贡献者II

你好,

谢谢你的回复!

你能详细说明一下你所说的“另一端”是什么意思吗?是否有剪贴板事件或其他类,我需要注册这个MapPoint,以便“粘贴特殊”命令将在ArcGis Pro中被激活?

到目前为止,我在我的插件中所取得的是从webrequest中获得一个WKT几何图形,然后将其构建为PolyLine并将其添加到图形叠加中。我想添加的下一个功能是让用户复制这个折线到剪贴板,这样用户就可以使用“粘贴特殊”将它粘贴到选择的图层中。

0荣誉
GintautasKmieliauskas
定期贡献者II

你好,

我的意思是,在代码的其他地方,你可以读取剪贴板的值,这是你添加的。您可以通过实现“粘贴空间”来开发插件按钮,并将其添加到您想要的ArcGIS Pro功能区/工具栏/组中。

如果你想让ArcGIS Pro读取剪贴板内容,你需要知道剪贴板内容的格式。尝试从ArcGIS Pro复制选定的功能到剪贴板。然后从您创建的插件按钮尝试调查当前剪贴板的内容。剪贴板类有许多不同的方法来读取剪贴板内容。

一些链接可以帮助你:

https://learn.microsoft.com/en-us/dotnet/api/system.windows.clipboard?view=windowsdesktop-7.0

使用剪贴板- arcgis Pro |文档复制粘贴

0荣誉