using FlyADBase; using GalaSoft.MvvmLight.Command; using System; using System.Collections.Generic; using System.ComponentModel; 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.Shapes; using Unity; namespace Flyad7_WPF { /// /// WdSetVelocity.xaml 的交互逻辑 /// public partial class WdSetVelocity : Window { WdSetVelocityVm viewModel; public WdSetVelocity() { InitializeComponent(); } [InjectionMethod] public void Init(FlyAD7 flyad) { viewModel = new WdSetVelocityVm(); viewModel.Init(flyad); DataContext = this.viewModel; } } public class WdSetVelocityVm : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; /// /// runto 速度 pps /// public UInt32 Velocity { get; set; } /// /// 开始速度 pps /// public UInt32 SVelocity { get; set; } /// /// 加速时间 ms /// public UInt32 ATime { get; set; } /// /// 减速时间 ms /// public UInt32 DTime { get; set; } /// /// 归0 第1段速 pps /// public UInt32 HVelocity1 { get; set; } /// /// 归0 第2段速 pps /// public UInt32 HVelocity2 { get; set; } public RelayCommand ApplyCmd { get; private set; } FlyAD7 flyad; public WdSetVelocityVm() { ApplyCmd = new RelayCommand(Apply); } public void Init(FlyAD7 flyad) { this.flyad = flyad; Velocity = flyad.Velocity; SVelocity = flyad.SVelocity; ATime = flyad.ATime; DTime = flyad.DTime; HVelocity1 = flyad.HVelocity1; HVelocity2 = flyad.HVelocity2; } private void Apply() { if (!flyad.IsConnected) return; flyad.SetPosParam(Velocity, SVelocity, ATime, DTime, HVelocity1, HVelocity2); MessageBox.Show("设置完成"); } } }