当前位置: 首页 > news >正文

【ArcGIS Pro二次开发】(87):样式_Style的用法

.Stylx类型的文件即为样式库文件,保存了符号样式。


1、根据名字获取当前工程中的style

//获取当前工程中的所有style
var ProjectStyles = Project.Current.GetItems<StyleProjectItem>();

//根据名字找出指定的style
StyleProjectItem style = ProjectStyles.First(x => x.Name == "村规样式");

2、新建style

// 创建.stylx文件,注意后缀
string styleToCreate = @"C:\Temp\NewStyle.stylx";
StyleHelper.CreateStyle(Project.Current, styleToCreate);

3、加载style到当前工程

public Task AddStyleItemAsync(StyleProjectItem style, StyleItem itemToAdd)
{
  return QueuedTask.Run(() =>
  {
    //添加StyleItem
    style.AddItem(itemToAdd);
  });
}

4、从工程中移除style

public Task AddStyleItemAsync(StyleProjectItem style, StyleItem itemToAdd)
{
  return QueuedTask.Run(() =>
  {
    //移除StyleItem
    style.RemoveStyle(itemToAdd);
  });
}

5、给style添加符号项

public Task AddStyleItemAsync(StyleProjectItem style, StyleItem itemToAdd)
{
  return QueuedTask.Run(() =>
  {
    //添加StyleItem
    style.AddItem(itemToAdd);
  });
}

6、从style中移除符号项

public Task RemoveStyleItemAsync(StyleProjectItem style, StyleProjectItem style, StyleItem itemToRemove)
{
  return QueuedTask.Run(() =>
  {
    //移除StyleItem
    style.RemoveItem(itemToRemove);
  });
}

7、确定style是否与当前版本匹配

public async Task<bool> IsCurrent(string stylePath)
{
  //加载style
  StyleHelper.AddStyle(Project.Current, stylePath));
  StyleProjectItem style = Project.Current.GetItems<StyleProjectItem>().First(x => x.Path == stylePath);

  //获取目标属性IsCurrent
  return style.IsCurrent;
}

8、升级style

public async Task<bool> UpgradeStyleAsync(string stylePath)
{
  //加载style
  StyleHelper.AddStyle(Project.Current, stylePath));
  StyleProjectItem style = Project.Current.GetItems<StyleProjectItem>().First(x => x.Path == stylePath);

  // 如果是可以升级的话
  if (style.CanUpgrade)
  {
    StyleHelper.UpgradeStyle(style));
  }
}

9、在style中搜索特定的Item

//根据关键词搜索特定的SymbolStyleItem 
SymbolStyleItem item = (SymbolStyleItem)style.LookupItem(StyleItemType.PointSymbol, key);

//点符号
return style.SearchSymbols(StyleItemType.PointSymbol, searchString);

//线符号
return style.SearchSymbols(StyleItemType.LineSymbol, searchString);

//面符号
return await style.SearchSymbols(StyleItemType.PolygonSymbol, searchString);

//颜色
return style.SearchColors(searchString);

//色带
return await style.SearchColorRamps(searchString);

//指北针
return style.SearchNorthArrows(searchString);

//比例尺
return style.SearchScaleBars(searchString);

//图例
return style.SearchLegends(searchString);

 

相关文章:

  • 【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现(前端)
  • flutter ListView Item复用源码解析
  • MySQL Workbench工具 导出导入数据库
  • spring学习(spring-DI(setter注入、构造器注入、自动装配方式))
  • 在 CentOS 系统中配置交换空间(Swap)解决内存不足
  • Android和DLT日志系统
  • 13.推荐系统的性能优化
  • Go语言协程Goroutine高级用法(一)
  • 分布式版本控制系统---git
  • 【openresty服务器】:源码编译openresty支持ssl,增加service系统服务,开机启动,自己本地签名证书,配置https访问
  • 基于巨控GRM552YW-CHE:西门子S7-1200 PLC远程程序上下载与实时调试方案
  • spring cloud 使用 webSocket
  • 怎麼使用靜態住宅IP進行多社媒帳號管理
  • A4988一款带转换器和过流保护的 DMOS 微步驱动器的使用方式
  • 探索高通骁龙游戏超分辨率技术:移动游戏的未来
  • 20240911 光迅科技 笔试
  • ProxySQL构建PolarDB-X标准版高可用路由服务三节点集群
  • 理解WebGPU 中的 GPUDevice :与 GPU 交互的核心接口
  • 【时时三省】(C语言基础)简单的算法举例
  • leetcode-495.提莫攻击
  • 今年4月上海一二手房成交面积同比增21%,二手房成交2.07万套
  • 5月起,这些新规将施行
  • 空调+零食助顶级赛马备战,上海环球马术冠军赛将焕新登场
  • 深观察丨从“不建议将导师挂名为第一作者”说开去
  • 国台办:相关优化离境退税政策适用于来大陆的台湾同胞
  • 光明网评“泉州梦嘉商贸楼不到5年便成危楼”:监管是否尽职尽责?