.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(() =>{//添加StyleItemstyle.AddItem(itemToAdd);});
}
4、从工程中移除style
public Task AddStyleItemAsync(StyleProjectItem style, StyleItem itemToAdd)
{return QueuedTask.Run(() =>{//移除StyleItemstyle.RemoveStyle(itemToAdd);});
}
5、给style添加符号项
public Task AddStyleItemAsync(StyleProjectItem style, StyleItem itemToAdd)
{return QueuedTask.Run(() =>{//添加StyleItemstyle.AddItem(itemToAdd);});
}
6、从style中移除符号项
public Task RemoveStyleItemAsync(StyleProjectItem style, StyleProjectItem style, StyleItem itemToRemove)
{return QueuedTask.Run(() =>{//移除StyleItemstyle.RemoveItem(itemToRemove);});
}
7、确定style是否与当前版本匹配
public async Task<bool> IsCurrent(string stylePath)
{//加载styleStyleHelper.AddStyle(Project.Current, stylePath));StyleProjectItem style = Project.Current.GetItems<StyleProjectItem>().First(x => x.Path == stylePath);//获取目标属性IsCurrentreturn style.IsCurrent;
}
8、升级style
public async Task<bool> UpgradeStyleAsync(string stylePath)
{//加载styleStyleHelper.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);