using CommunityToolkit.Mvvm.Input;
using FLY.Thick.Base.IService;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using Unity;
namespace FLY.Thick.Base.UI
{
///
/// Page_GetSample.xaml 的交互逻辑
///
public partial class PgGetSample : Page
{
IGetSampleService getSampleService;
IInitParamService initParamService;
PgGetSampleVm viewModel;
public PgGetSample()
{
InitializeComponent();
if (System.ComponentModel.LicenseManager.UsageMode != System.ComponentModel.LicenseUsageMode.Runtime)
return;
this.Loaded += UcGridGraph_Loaded;
this.Unloaded += UcGridGraph_Unloaded;
}
private void UcGridGraph_Unloaded(object sender, RoutedEventArgs e)
{
viewModel.DisposeBinding();
}
private void UcGridGraph_Loaded(object sender, RoutedEventArgs e)
{
viewModel.SetBinding();
}
[InjectionMethod]
public void Init(
IGetSampleService getSampleService,
IInitParamService initParamService,
string infoName = null)
{
this.getSampleService = getSampleService;
this.initParamService = initParamService;
viewModel = new PgGetSampleVm();
viewModel.Init(getSampleService, infoName);
this.DataContext = viewModel;
this.grid_initparam.DataContext = this.initParamService;
}
}
public class PgGetSampleVm : INotifyPropertyChanged
{
#region Markno
const int MARKNO_UPDATE_SAMPLE = 1;
const int MARKNO_UPDATE_FEATURE = 2;
#endregion
#region 参数
///
/// 参数:使能
///
public bool Enable { get; set; }
///
/// 参数:样品点范围
///
public int SampleRange { get; set; }
///
/// 参数:移动滤波 ,窗口值
///
public int Window { get; set; }
///
/// 使用%方式检查异常
///
public bool IsCheckByPercent { get; set; }
///
/// 异常%
///
public double ErrPercent { get; set; }
///
/// 异常值
///
public int ErrValue { get; set; }
///
/// 当前 样品X_AD/样品0_AD 与 上一次比较 差异比例 单位不是%
///
public double CrossErrPercent { get; set; }
///
/// 参数:样品点参数
///
public SampleCellView[] Samples { get; set; }
#endregion
#region Command
public RelayCommand ApplyCmd { get; private set; }
#endregion
public event PropertyChangedEventHandler PropertyChanged;
public string InfoName { get; set; }
IGetSampleService getSampleService;
Dictionary