举例:
第一步:添加两个?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后,效果:
如:具体应用,按需求激活