using CapMachine.Core; using CapMachine.Wpf.Dtos; using CapMachine.Wpf.Models; using CapMachine.Wpf.Services; using Prism.Commands; using Prism.Services.Dialogs; using System.Collections.ObjectModel; namespace CapMachine.Wpf.ViewModels { public class DialogMeterExdViewModel : DialogViewModel { /// /// 实例化函数 /// public DialogMeterExdViewModel(MachineRtDataService machineRtDataService) { Title = "拓展控制"; MachineRtDataService = machineRtDataService; } /// /// 当前的仪表命令消息 /// public MeterCmdMsg CurMeterCmdMsg { get; set; } private string name; /// /// 名称 /// public string Name { get { return name; } set { name = value; RaisePropertyChanged(); } } private int _Value; /// /// 值和数据 /// public int Value { get { return _Value; } set { _Value = value; RaisePropertyChanged(); } } private DelegateCommand _SendDataCmd; /// /// 发送数据命令 /// public DelegateCommand SendDataCmd { set { _SendDataCmd = value; } get { if (_SendDataCmd == null) { _SendDataCmd = new DelegateCommand(() => SendDataCmdMethod()); } return _SendDataCmd; } } /// /// 发送数据命令方法 /// private void SendDataCmdMethod() { switch (CurMeterCmdMsg.Name) { case "PTC功率": //发送数据 PTC功率 SV2 MachineRtDataService.SiemensDrive.Write("VW434", (short)Value); break; default: break; } } private DelegateCommand saveCmd; /// /// 保存命令 /// public DelegateCommand SaveCmd { set { saveCmd = value; } get { if (saveCmd == null) { saveCmd = new DelegateCommand(() => SaveCmdMethod()); } return saveCmd; } } /// /// 保存命令方法 /// /// private void SaveCmdMethod() { DialogParameters pars = new DialogParameters { { "NewData", "" } }; RaiseRequestClose(new DialogResult(ButtonResult.OK, pars)); } private DelegateCommand cancelCmd; /// /// 保存命令 /// public DelegateCommand CancelCmd { set { cancelCmd = value; } get { if (cancelCmd == null) { cancelCmd = new DelegateCommand(() => CancelCmdMethod()); } return cancelCmd; } } public MachineRtDataService MachineRtDataService { get; } /// /// 取消命令方法 /// /// private void CancelCmdMethod() { RaiseRequestClose(new DialogResult(ButtonResult.Cancel)); } /// /// 窗口打开时的传递的参数 /// /// public override void OnDialogOpened(IDialogParameters parameters) { //Name = parameters.GetValue("Name"); CurMeterCmdMsg = parameters.GetValue("MeterCmdMsg"); } } }