ArcGIS Pro SDK (五)内容 4 收藏夹

ArcGIS Pro SDK (五)内容 4 收藏夹

环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0

1 添加收藏夹 - 文件夹

var itemFolder = ItemFactory.Instance.Create(@"d:\data");

//文件夹项已经是收藏夹的了吗?
var fav = FavoritesManager.Current.GetFavorite(itemFolder);
if (fav == null)
{
    if (FavoritesManager.Current.CanAddAsFavorite(itemFolder))
    {
        fav = FavoritesManager.Current.AddFavorite(itemFolder);
    }
}

2 插入收藏夹 - 地理数据库路径

string gdbPath = "@C:\\myDataFolder\\myData.gdb";

var itemGDB = ItemFactory.Instance.Create(gdbPath);

//文件夹项已经是收藏夹的了吗?
var fav = FavoritesManager.Current.GetFavorite(itemGDB);
//没有;将IsAddedToAllNewProjects设置为true来添加它
if (fav != null)
{
    if (FavoritesManager.Current.CanAddAsFavorite(itemGDB))
        FavoritesManager.Current.InsertFavorite(itemGDB, 1, true);
}

3 添加收藏夹 - 设置项目项的样式

StyleProjectItem styleItem = Project.Current.GetItems<StyleProjectItem>().
    FirstOrDefault(style => (style.Name == "ArcGIS 3D"));

if (FavoritesManager.Current.CanAddAsFavorite(styleItem))
{
    //添加到收藏夹,IsAddedToAllNewProjects设置为false
    FavoritesManager.Current.AddFavorite(styleItem);
}

4 切换标志是添加到所有新项目为收藏夹

var itemFolder = ItemFactory.Instance.Create(@"d:\data");

//文件夹项已经是收藏夹的了吗?
var fav = FavoritesManager.Current.GetFavorite(itemFolder);
if (fav != null)
{
    if (fav.IsAddedToAllNewProjects)
        FavoritesManager.Current.ClearIsAddedToAllNewProjects(fav.Item);
    else
        FavoritesManager.Current.SetIsAddedToAllNewProjects(fav.Item);
}

5 获取收藏夹集并迭代

var favorites = FavoritesManager.Current.GetFavorites();
foreach (var favorite in favorites)
{
    bool isAddedToAllProjects = favorite.IsAddedToAllNewProjects;
    //检索收藏的基础项目
    Item item = favorite.Item;

    //项属性
    var itemType = item.TypeID;
    var path = item.Path;

    //如果它是一个文件夹项目
    if (item is FolderConnectionProjectItem)
    {
    }
    //如果它是一个地理数据库项目
    else if (item is GDBProjectItem)
    {
    }
    // else 
}

6 删除所有收藏夹

var favorites = FavoritesManager.Current.GetFavorites();
foreach (var favorite in favorites)
    FavoritesManager.Current.RemoveFavorite(favorite.Item);

7 收藏夹更改事件

ArcGIS.Desktop.Core.Events.FavoritesChangedEvent.Subscribe((args) =>
{
  // 收藏夹改变了
  int count = FavoritesManager.Current.GetFavorites().Count;
});
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ArcGIS Pro SDK是用于创建ArcGIS Pro加载项的开发工具包。您可以使用ArcGIS Pro SDK来扩展ArcGIS Pro的功能,添加自定义工具、面板、任务和其他功能。\[1\] 要安装ArcGIS Pro SDK 3.0,您需要使用Visual Studio 2022,并从Visual Studio Marketplace搜索并安装以下三个扩展:ArcGIS Pro SDK for .NET,ArcGIS Pro SDK for .NET(Utilities),ArcGIS Pro SDK for .NET(Migration)\[1\]。请注意,ArcGIS Pro SDK for .NET扩展只能集成到Visual Studio 2022中,建议使用版本17.2或更高版本\[2\]。 ArcGIS Pro SDK for .NET提供了三个不同的扩展名(.vsix文件):ArcGIS Pro SDK for .NET用于创建ArcGIS Pro加载项的工程和项模板的集合,ArcGIS Pro SDK for .NET(Utilities)用于帮助创建ArcGIS Pro加载项的实用程序的集合,ArcGIS Pro SDK for .NET(Migration)用于将ArcGIS Pro SDK 2.x扩展模块迁移到ArcGIS Pro SDK 3.0 for .NET\[3\]。 总结来说,ArcGIS Pro SDK是用于创建ArcGIS Pro加载项的开发工具包,您可以使用它来扩展ArcGIS Pro的功能。要安装ArcGIS Pro SDK 3.0,您需要使用Visual Studio 2022,并从Visual Studio Marketplace安装相应的扩展。 #### 引用[.reference_title] - *1* *2* *3* [VS2022中ArcGIS Pro SDK for .NET安装和卸载指南](https://blog.csdn.net/u012685544/article/details/126317090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值