using Aitex.Core.UI.MVVM;
using Aitex.Core.Utilities;
using CyberX8_Simulator.Devices;
using MECF.Framework.Simulator.Core.Commons;
using MECF.Framework.Simulator.Core.Driver;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
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 CyberX8_Simulator.Views
{
///
/// WagoView.xaml 的交互逻辑
///
public partial class WagoView : UserControl
{
public WagoView()
{
InitializeComponent();
this.Loaded += OnViewLoaded;
}
private void OnViewLoaded(object sender, RoutedEventArgs e)
{
(DataContext as TimerViewModelBase)?.Start();
}
}
class WagoViewModel : SocketDeviceViewModel
{
#region 属性
public string Title
{
get { return "Wago Simulator"; }
}
private string _DOSelectedItem;
[IgnorePropertyChange]
public string DOSelectedItem
{
get
{
return _DOSelectedItem;
}
set
{
_DOSelectedItem = value;
}
}
private int _DOInputValue;
[IgnorePropertyChange]
public int DOInputValue
{
get
{
return _DOInputValue;
}
set
{
_DOInputValue = value;
}
}
private string _DISelectedItem;
[IgnorePropertyChange]
public string DISelectedItem
{
get
{
return _DISelectedItem;
}
set
{
_DISelectedItem = value;
}
}
private int _DIInputValue;
[IgnorePropertyChange]
public int DIInputValue
{
get
{
return _DIInputValue;
}
set
{
_DIInputValue = value;
}
}
private string _AOSelectedItem;
[IgnorePropertyChange]
public string AOSelectedItem
{
get
{
return _AOSelectedItem;
}
set
{
_AOSelectedItem = value;
}
}
private short _AOInputValue;
[IgnorePropertyChange]
public short AOInputValue
{
get
{
return _AOInputValue;
}
set
{
_AOInputValue = value;
}
}
private string _AISelectedItem;
[IgnorePropertyChange]
public string AISelectedItem
{
get
{
return _AISelectedItem;
}
set
{
_AISelectedItem = value;
}
}
private short _AIInputValue;
[IgnorePropertyChange]
public short AIInputValue
{
get
{
return _AIInputValue;
}
set
{
_AIInputValue = value;
}
}
#endregion
public ObservableCollection DONameItems { get; set; }
public ObservableCollection DINameItems { get; set; }
public ObservableCollection AONameItems { get; set; }
public ObservableCollection AINameItems { get; set; }
public ObservableCollection DigitalInputSelected { get; set; }
private WagoSocketSimulator _sim;
public ICommand SetDICommand { get; set; }
public ICommand SetDOCommand { get; set; }
public ICommand SetAICommand { get; set; }
public ICommand SetAOCommand { get; set; }
public WagoViewModel(string str) : base("WagoViewModel")
{
SetDICommand = new DelegateCommand