using CaeJob; using System.Collections.Generic; using System.ComponentModel; using System.Runtime.CompilerServices; namespace CPSO.Forms._92_Knowledge { public class ViewAnalysisJob: INotifyPropertyChanged { private AnalysisJob Job { get; } public void UpdateProgress() { OnPropertyChanged(nameof(Status)); } public ViewAnalysisJob(AnalysisJob job) { Job = job; } [DisplayName("Job名称")] public string JobName => Job.Name; private string _stepName; [DisplayName("Step名称")] public string StepName { get => _stepName; set => SetField(ref _stepName, value); } private string _surfaceName; [DisplayName("Surface名称")] public string SurfaceName { get => _surfaceName; set => SetField(ref _surfaceName, value); } [DisplayName("状态")] public JobStatus Status => Job.JobStatus; public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } protected bool SetField(ref T field, T value, [CallerMemberName] string propertyName = null) { if (EqualityComparer.Default.Equals(field, value)) return false; field = value; OnPropertyChanged(propertyName); return true; } } }