在SMGIS.Ventilate.addin菜单工具配置文件中,定义如下:
//控制条件
<Runtime>
<Import assembly="../SMGIS.Ventilate.dll">
<ConditionEvaluator name="ActiveConnDataBadeContext"
class="SMGIS.Ventilate.Commands.ActiveConnDataBadeConditionEvaluator"/>
</Import>
</Runtime>
定义菜单为:
<Condition name = "ActiveConnDataBadeContext" action="Disable">
<MenuItem id = "menuGasCoalDust" label= "瓦斯煤尘(&W)" class= "SMGIS.Ventilate.Commands.InputGasCoalDustCommand"/>
在SMGIS.Ventilate.Commands命名空间下写:
/// <summary>
/// 控制与数据库连接相关菜单的显示
/// </summary>
public class ActiveConnDataBadeConditionEvaluator : IConditionEvaluator
{
public bool IsValid(object caller, Condition condition)
{
return SMGIS.Monitor.BLL.Config.OracleHelper.IsConnection;
}
}
这就可以实现用SMGIS.Monitor.BLL.Config.OracleHelper.IsConnection来控制menuGasCoalDust的显示情况。