ARCGIS PRO SDK 设置UI控件状态:启用/禁用

举例:

第一步:添加两个 Button 分别命名为Connect、Disconnect

第二步:nfig.daml添加状态和条件:在 DAML 中定义条件。请记住,条件存在于模块标记<modules>之外,下代码定义:Disconnected_condition初时为启用状态,Connected_condition初时为禁用状态。

复制代码
<conditions>
  <insertCondition id="Disconnected_condition">
    <not>
      <state id="Connected_state" />
    </not>
  </insertCondition>
  <insertCondition id="Connected_condition">
    <state id="Connected_state" />
  </insertCondition>
</conditions>

第三步:在控件标记 <controls>Button,引用定义的condition

复制代码
<controls>
 <button id="BtnConnect_Connect" caption="Connect" className="Connect" smallImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png" largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.png" condition="Disconnected_condition">
  <tooltip heading="Tooltip">
	  使用此按钮连接
  </tooltip>"
 </button>
 <button id="BtnConnect_Disconnect" caption="Disconnect" className="Disconnect" smallImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png" largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.png" condition="Connected_condition">
  <tooltip heading="Tooltip">
	  使用此按钮断开连接
  </tooltip>"
 </button>
</controls>

第四步:使用以下 API 方法激活或停用状态

在Button(Connect)的OnClick 写入:

c+代码

复制代码
FrameworkApplication.State.Activate("Connected_state");

vb

复制代码
FrameworkApplication.State.Activate("Connected_state")

在Button(Disconnect)的OnClick 写入:

c+

复制代码
FrameworkApplication.State.Deactivate("Connected_state");

vb

复制代码
FrameworkApplication.State.Deactivate("Connected_state")

效果如下:初时状态

点Connect后,效果:

再点Disconnect后,效果:

如:具体应用,按需求激活

相关推荐
盖世英雄酱5813629 分钟前
springboot 项目 从jdk 8 升级到jdk21 会面临哪些问题
java·后端
济南壹软网络科技有限公司35 分钟前
企业级盲盒系统:Java高并发架构在多元化抽奖电商中的设计与实践
java·架构·开源源码·盲盒源码·盲盒h5·盲盒app
廋到被风吹走39 分钟前
【Java】常用设计模式及应用场景详解
java·开发语言·设计模式
一条可有可无的咸鱼1 小时前
企业招聘信息,企业资讯进行公示
java·vue.js·spring boot·uni-app
程序猿DD1 小时前
JUnit 5 中的 @ClassTemplate 实战指南
java·后端
爱吃山竹的大肚肚1 小时前
EasyPOI 大数据导出
java·linux·windows
panzer_maus2 小时前
归并排序的简单介绍
java·数据结构·算法
Smartdaili China2 小时前
掌握Java网页抓取:技术与示例完整指南
java·网络·学习·指南·网页·住宅ip·爬虫api
程序员游老板2 小时前
基于SpringBoot3_vue3_MybatisPlus_Mysql_Maven的社区养老系统/养老院管理系统
java·spring boot·mysql·毕业设计·软件工程·信息与通信·毕设