前述:我在做项目的过程中,需要实现一个功能,即PLC的通讯灯打开与关闭显示的状态需要显示在我的项目界面中,PLC通讯灯的View和ViewModel均在底层环境下编写的,所以如果我要把通讯灯在项目中实现显示灯亮灯灭,便需要调用底层的这个函数;废话不多数,代码及问题如下:
调用ImtViewModel 类中的IsOpen,若IsOpen为true则项目中的通讯灯显示也为true即灯亮;
//底层环境代码
public class ImtViewModel : NotificationObject
{
public bool IsOpen => OriginImt.IsOpen;//调用此函数
public string DisplayTypeName => OriginImt.DisplayTypeName;
public Instrument OriginImt => ImtsManager.Instance[Identifier]; //调用此函数
}
我的实现如下:首先调用ImtViewModel类,调用ImtsManager类即调用了ImtViewModel类,Identifier是PLC,string类型,故中括号里面使用双引号,IsOpen是bool类型,PlcLampOnBk也是声明的bool类型,赋值操作符左右均为bool类型,功能实现!
public class MonitorViewModel : MotsViewModelBase<MonitorView>, ITestSysViewModel
{
public bool PlcLampOnBk { get; set; }//声明全局变量;
private void Timer_Tick(object sender, EventArgs e)
{
try
{
PlcLampOnBk = ImtsManager.Instance["PLC"].IsOpen;//实现的功能代码在此;
}
catch (Exception ex)
{
Logger.Error(ex.ToString());
}
}
}
效果图:
版权声明:本文为weixin_42077130原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。