123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- using Aitex.Core.Utilities;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- namespace MECF.Framework.Simulator.Core.Commons
- {
- /// <summary>
- /// CommonSocketDeviceSimulatorView.xaml 的交互逻辑
- /// </summary>
- public partial class CommonSocketDeviceSimulatorView : UserControl
- {
- CommonSocketSimulatorViewModel _viewModel;
- public void Initialize(string deviceGroup, string deviceName, int defaultPort)
- {
- _viewModel = new CommonSocketSimulatorViewModel(deviceGroup, deviceName, defaultPort);
- _viewModel.SerialIOSimulator.SimulatorItemActived += SerialIOReader_SimulatorItemActived;
- this.DataContext = _viewModel;
- this.Loaded += SiasunPhoenixBSimulatorView_Loaded;
- }
- public CommonSocketDeviceSimulatorView()
- {
- InitializeComponent();
- }
- private void SerialIOReader_SimulatorItemActived(IOSimulatorItemViewModel obj)
- {
- this.Dispatcher.Invoke(new Action(() =>
- {
- _simaulatorItemGrid.SelectedItem = obj;
- }));
- }
- private void SiasunPhoenixBSimulatorView_Loaded(object sender, RoutedEventArgs e)
- {
- _viewModel.EnableTimer(true);
- }
- private void BtnReply_Click(object sender, RoutedEventArgs e)
- {
- IOSimulatorItemViewModel commandViewModel = (IOSimulatorItemViewModel)_simaulatorItemGrid.SelectedItem;
- if (commandViewModel != null)
- {
- _viewModel.SerialIOSimulator.ManualWriteMessage(commandViewModel);
- }
- }
- }
- class CommonSocketSimulatorViewModel : SimpleSocketDeviceViewModel
- {
- public CommonSocketSimulatorViewModel(string deviceGroup, string deviceName, int port) : base("CommonSocketSimulatorViewModel")
- {
- SerialIOSimulator = SocketDeviceSimulatoFactory.GetCommonSocketDeviceSimulator(port, deviceName);
- Init(SerialIOSimulator, true);
- _deviceName = deviceName;
- //IOSimulatorItemViewModelConfig = IOSimulatorItemReader.GetCommandModelConfig(deviceGroup, deviceName);
- IOSimulatorItemViewModelConfig = IOSimulatorItemReader.GetCommandModelConfigV2(deviceName);
- IOSimulatorItemViewModelConfig.IOSimulatorItemList.ForEach(sItem =>
- {
- sItem.IsManualReplyEnable = !AutoReply;
- sItem.Response = IsFailed ? sItem.FailedResponseStr : sItem.SuccessResponseStr;
- });
- SerialIOSimulator.IOSimulatorItemList = IOSimulatorItemViewModelConfig.IOSimulatorItemList;
- }
- private string _deviceName;
- public IOSimulatorItemViewModelConfig IOSimulatorItemViewModelConfig { get; set; }
- public string Title
- {
- get { return _deviceName + " Simulator"; }
- }
- public CommonSocketDeviceSimulator SerialIOSimulator;
- public bool IsFailed
- {
- get
- {
- return SerialIOSimulator.Failed;
- }
- set
- {
- SerialIOSimulator.Failed = value;
- IOSimulatorItemViewModelConfig.IOSimulatorItemList.ForEach(sItem =>
- {
- sItem.Response = value ? sItem.FailedResponseStr : sItem.SuccessResponseStr;
- });
- }
- }
- public bool AutoReply
- {
- get
- {
- return SerialIOSimulator.AutoReply;
- }
- set
- {
- SerialIOSimulator.AutoReply = value;
- IOSimulatorItemViewModelConfig.IOSimulatorItemList.ForEach(sItem =>
- {
- sItem.IsManualReplyEnable = !value;
- });
- }
- }
- //private string _value;
- [IgnorePropertyChange]
- public string ResultValue
- {
- get
- {
- return SerialIOSimulator.ResultValue;
- }
- set
- {
- SerialIOSimulator.ResultValue = value;
- }
- }
- }
- }
|