using Correlator.Dialog; using Correlator.Service; using Correlator.Util; using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Command; using GalaSoft.MvvmLight.Messaging; namespace Correlator.ViewModel { public class AddSoundSpeedViewModel : ViewModelBase { private readonly ISoundSpeedDataService _dataService; private string _materialName; private string _minDiameter; public string MinDiameter { get => _minDiameter; set { _minDiameter = value; RaisePropertyChanged(() => MinDiameter); } } private string _maxDiameter; public string MaxDiameter { get => _maxDiameter; set { _maxDiameter = value; RaisePropertyChanged(() => MaxDiameter); } } private string _soundSpeed; public string SoundSpeed { get => _soundSpeed; set { _soundSpeed = value; RaisePropertyChanged(() => SoundSpeed); } } public RelayCommand<AddSoundSpeedDialog> DetermineParamCommand { get; set; } public AddSoundSpeedViewModel(ISoundSpeedDataService dataService) { _dataService = dataService; Messenger.Default.Register<string>(this, MessengerToken.AddSoundSpeedMessage, it => { _materialName = it; MinDiameter = ""; MaxDiameter = ""; SoundSpeed = ""; }); DetermineParamCommand = new RelayCommand<AddSoundSpeedDialog>(AddSoundSpeed); } private void AddSoundSpeed(AddSoundSpeedDialog it) { _dataService.InsertVelocity(_materialName, _minDiameter, _maxDiameter, _soundSpeed); //更新界面数据 Messenger.Default.Send("", MessengerToken.UpdateSoundSpeed); //返回选择材质界面 it.Close(); } } }