网站建设结构图,安徽省建设工程专业技术资格评审标准条件,网络营销和电子商务的区别,网站页面效果图怎么做的在ArcGIS Pro工作中#xff0c;有时候会涉及到工具栏UI的管理#xff0c;比如#xff0c;打开模型构建器时#xff0c;工具栏才会出现新的选项卡(Tab)【ModelBuilder】#xff0c;工程未做更改#xff0c;则【保存】按钮显示灰色不可用。 下面以一个小例子来学习一下。 一…在ArcGIS Pro工作中有时候会涉及到工具栏UI的管理比如打开模型构建器时工具栏才会出现新的选项卡(Tab)【ModelBuilder】工程未做更改则【保存】按钮显示灰色不可用。 下面以一个小例子来学习一下。 一、新建项目并添加示例用的控件
1、新建一个项目命名为【UIManager】再添加4个ArcGIS Pro 按钮【Show_Button、Show_Tab、Show_Group、Test_Button】。具体操作可以参考我的上一篇笔记
【ArcGIS Pro二次开发】(2)创建一个Add-in项目https://blog.csdn.net/xcc34452366/article/details/128985113?spm1001.2014.3001.5501
2、更新Config.daml文件的/modules模块添加2个Tab【UI管理器、示例选项卡】并把4个按钮分为2组【UI管理组、示例组】。更新后的/modules代码如下
modulesinsertModule idUIManager_Module classNameModule1 autoLoadfalse captionModule1!-- 选项卡--tabs!-- UI管理选项卡下面2个组--tab idUIManager_Tab_UI captionUI管理器group refIDUIManager_Group_UI/group refIDUIManager_Group_Test/!-- 示例选项卡--/tabtab idUIManager_Tab_Test caption示例选项卡/tab/tabs!-- 组--groups!-- UI管理组下面3个管理按钮--group idUIManager_Group_UI captionUI管理组 appearsOnAddInTabfalsebutton refIDUIManager_Show_Button sizelarge /button refIDUIManager_Show_Tab sizelarge /button refIDUIManager_Show_Group sizelarge //group!-- 示例组下面1个示例按钮--group idUIManager_Group_Test caption示例组 appearsOnAddInTabfalsebutton refIDUIManager_Test_Button sizelarge //group/groups!-- 控件--controls!-- 【Button】显示按钮--button idUIManager_Show_Button caption显示按钮 classNameShow_Button loadOnClicktrue smallImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png largeImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.pngtooltip headingTooltip HeadingTooltip textdisabledText //tooltip/button!-- 【Button】显示选项卡--button idUIManager_Show_Tab caption显示选项卡 classNameShow_Tab loadOnClicktrue smallImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png largeImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.pngtooltip headingTooltip HeadingTooltip textdisabledText //tooltip/button!-- 【Button】显示组--button idUIManager_Show_Group caption显示组 classNameShow_Group loadOnClicktrue smallImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png largeImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.pngtooltip headingTooltip HeadingTooltip textdisabledText //tooltip/button!-- 【Button】示例按钮--button idUIManager_Test_Button caption示例按钮 classNameTest_Button loadOnClicktrue smallImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png largeImagepack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.pngtooltip headingTooltip HeadingTooltip textdisabledText //tooltip/button/controls/insertModule/modules
调试效果如下图 二、添加条件控制
1、在/AddInInfo模块和/modules模块之间插入以下代码目的是添加3个条件控制分别控制【示例选项卡、示例组和2个显示按钮】的显示和隐藏
conditions!-- 条件控制器 --insertCondition idManager_ShowButton caption显示按钮!-- Manager_ShowButton的结果True or False会受到下面这个state的影响 --!-- 控制按钮显示 --state idbutton_state //insertConditioninsertCondition idManager_ShowTab caption显示选项卡!-- 控制选项卡显示 --state idtab_state //insertConditioninsertCondition idManager_ShowGroup caption显示组!-- 控制组显示 --state idgroup_state //insertCondition/conditions
2、在要执行显示、隐藏的控件里增加condition属性并把上面/conditions模块里相对应的id赋给它。 3、打开【Module1.cs】在Overrides行的下面添加如下代码调用系统监听
public static void StateCotroller(string stateID){if (FrameworkApplication.State.Contains(stateID)){FrameworkApplication.State.Deactivate(stateID);}else{FrameworkApplication.State.Activate(stateID);}} 三、重写按钮的OnClick事件调用控制器
分别打开【Show_Button.cs、Show_Tab.cs、Show_Group.cs】3个文件分别重写OnClick事件代码如下
Module1.StateCotroller(button_state);
Module1.StateCotroller(tab_state);
Module1.StateCotroller(group_state); 四、调试
点击工具栏的【调试】按钮打开的ArcGIS Pro界面如下默认情况下示例选项卡、示例组被隐藏2个显示按钮被禁用 点示【显示按钮】则右边2个按钮变为可用再次点击则禁用。
点示被启用的【显示选项卡】则选项卡界面上出现一个【示例选项卡】再次点击则隐藏。
点示被启用的【显示组】则出现一个【示例组】再次点击则隐藏。 以上就是这个小例子的全部效果。 五、工程文件分享
最后放上工程文件的链接
UIManagerhttps://pan.baidu.com/s/1EEBSWmTuRGbgwMys99e5xw?pwdr023