123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using IViewModel;
- using IViewModel.ViewModels;
- using Shaker.Model;
- using Shaker.Models;
- using Shaker.Tools;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Dynamicloadsimulationdevice.ViewModels
- {
- internal sealed class AOConfigViewModel:ViewModelBase<Shaker.Models.AOConfigModel>
- {
- private string unit=string.Empty;
- public AOConfigViewModel():base()
- {
- }
- public AOConfigViewModel(Shaker.Models.AOConfigModel model):base(model)
- {
- }
- public override void UpDateModel(AOConfigModel model)
- {
- Unit = model.ChannelType.GetUnit();
- base.UpDateModel(model);
- }
- /// <summary>
- /// 极性
- /// </summary>
- [PropertyAssociation(nameof(Model.Polarity))]
- public Shaker.Model.Polarity Polarity { get=> Model.Polarity; set=>SetProperty(ref Model.Polarity , value); }
- /// <summary>
- /// 开环
- /// </summary>
- [PropertyAssociation(nameof(Model.OpenLoop))]
- public bool OpenLoop { get => Model.OpenLoop;set=>SetProperty(ref Model.OpenLoop, value); }
- /// <summary>
- /// 开环驱动
- /// </summary>
- [PropertyAssociation(nameof(Model.OpenLoopDriver))]
- public double OpenLoopDriver { get=>Model.OpenLoopDriver; set=>SetProperty(ref Model.OpenLoopDriver, value); }
- /// <summary>
- /// 最大开环驱动
- /// </summary>
- [PropertyAssociation(nameof(Model.MaxOpenLoopDriver))]
- public double MaxOpenLoopDriver =>Model.MaxOpenLoopDriver;
- /// <summary>
- /// 最小开环驱动
- /// </summary>
- [PropertyAssociation(nameof(Model.MinOpenLoopDriver))]
- public double MinOpenLoopDriver =>Model.MinOpenLoopDriver;
- /// <summary>
- /// 通道序号
- /// </summary>
- [PropertyAssociation(nameof(Model.Channel))]
- public AOChannel Channel { get=>Model.Channel; set=>SetProperty(ref Model.Channel, value); }
- /// <summary>
- /// 偏置
- /// </summary>
- [PropertyAssociation(nameof(Model.Bias))]
- public double Bias { get=>Model.Bias; set=>SetProperty(ref Model.Bias, value); }
- /// <summary>
- /// 最大偏置
- /// </summary>
- [PropertyAssociation(nameof(Model.MaxBias))]
- public double MaxBias => Model.MaxBias;
- /// <summary>
- /// 最小偏置
- /// </summary>
- [PropertyAssociation(nameof(Model.MinBias))]
- public double MinBias => Model.MinBias;
- /// <summary>
- /// 通道类型
- /// </summary>
- [PropertyAssociation(nameof(Model.ChannelType))]
- public AOChannelType ChannelType => Model.ChannelType;
- /// <summary>
- /// 单位
- /// </summary>
- [PropertyAssociation(nameof(Model.ChannelType))]
- public string Unit { get => unit; private set =>SetProperty(ref unit , value); }
- [PropertyAssociation(nameof(ChannelType))]
- public bool CanOpenLoop => ChannelType != AOChannelType.Balancing;
- public override string ToString()
- {
- return CanOpenLoop ? (OpenLoop? $"{ChannelType} {Channel} {Polarity} {nameof(Bias)}:{Bias} {nameof(OpenLoop)}{OpenLoop}" :$"{ChannelType} {Channel} {Polarity} {nameof(Bias)}:{Bias}") : $"{ChannelType} {Channel}";
- }
- }
- }
|