using LiveCharts; using MECF.Framework.Common.OperationCenter; 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.Navigation; using System.Windows.Shapes; namespace CyberX8_Themes.UserControls { /// /// LoaderWaferHolderFlowControl.xaml 的交互逻辑 /// public partial class LoaderWaferHolderFlowControl : UserControl { #region 属性 public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register("ModuleName", typeof(string), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 模块名称 /// public string ModuleName { get { return (string)this.GetValue(ModuleNameProperty); } set { this.SetValue(ModuleNameProperty, value); } } public static readonly DependencyProperty LeakFlowProperty = DependencyProperty.Register( "LeakFlow", typeof(double), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// LeakFlow /// public double LeakFlow { get { return (double)this.GetValue(LeakFlowProperty); } set { this.SetValue(LeakFlowProperty, value); } } public static readonly DependencyProperty LeakVacuumValueProperty = DependencyProperty.Register( "LeakVacuumValue", typeof(double), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(0.00, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// LeakVacuumValue /// public double LeakVacuumValue { get { return (double)this.GetValue(LeakVacuumValueProperty); } set { this.SetValue(LeakVacuumValueProperty, value); } } public static readonly DependencyProperty LeakFlowClampProperty = DependencyProperty.Register( "LeakFlowClamp", typeof(bool), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// LeakFlowClamp /// public bool LeakFlowClamp { get { return (bool)this.GetValue(LeakFlowClampProperty); } set { this.SetValue(LeakFlowClampProperty, value); } } public static readonly DependencyProperty LeakVacuumProperty = DependencyProperty.Register( "LeakVacuum", typeof(bool), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// LeakVacuum /// public bool LeakVacuum { get { return (bool)this.GetValue(LeakVacuumProperty); } set { this.SetValue(LeakVacuumProperty, value); } } public static readonly DependencyProperty LeakStatusProperty = DependencyProperty.Register( "LeakStatus", typeof(string), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// LeakStatus /// public string LeakStatus { get { return (string)this.GetValue(LeakStatusProperty); } set { this.SetValue(LeakStatusProperty, value); } } public static readonly DependencyProperty LeakMajorProperty = DependencyProperty.Register("LeakMajor", typeof(double), typeof(LoaderWaferHolderFlowControl)); /// /// LeakMajor /// public double LeakMajor { get { return (double)this.GetValue(LeakMajorProperty); } set { this.SetValue(LeakMajorProperty, value); } } public static readonly DependencyProperty LeakMinorProperty = DependencyProperty.Register("LeakMinor", typeof(double), typeof(LoaderWaferHolderFlowControl)); /// /// LeakMinor /// public double LeakMinor { get { return (double)this.GetValue(LeakMinorProperty); } set { this.SetValue(LeakMinorProperty, value); } } public static readonly DependencyProperty ValueSeriesProperty = DependencyProperty.Register("ValueSeries", typeof(ChartValues), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(new ChartValues(), FrameworkPropertyMetadataOptions.AffectsRender)); /// /// ValueSeries /// public ChartValues ValueSeries { get { return (ChartValues)this.GetValue(ValueSeriesProperty); } set { this.SetValue(ValueSeriesProperty, value); } } public static readonly DependencyProperty LabelSeriesProperty = DependencyProperty.Register("LabelSeries", typeof(ChartValues), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(new ChartValues(), FrameworkPropertyMetadataOptions.AffectsRender)); /// /// LabelSeries /// public ChartValues LabelSeries { get { return (ChartValues)this.GetValue(LabelSeriesProperty); } set { this.SetValue(LabelSeriesProperty, value); } } public static readonly DependencyProperty IsFlowStartEnabledProperty = DependencyProperty.Register("IsFlowStartEnabled", typeof(bool), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// IsFlowStartEnabled /// public bool IsFlowStartEnabled { get { return (bool)this.GetValue(IsFlowStartEnabledProperty); } set { this.SetValue(IsFlowStartEnabledProperty, value); } } public static readonly DependencyProperty IsFlowStopEnabledProperty = DependencyProperty.Register("IsFlowStopEnabled", typeof(bool), typeof(LoaderWaferHolderFlowControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// IsFlowStopEnabled /// public bool IsFlowStopEnabled { get { return (bool)this.GetValue(IsFlowStopEnabledProperty);} set { this.SetValue(IsFlowStopEnabledProperty,value);} } #endregion public LoaderWaferHolderFlowControl() { InitializeComponent(); } #region 按钮 private void FlowClampOn_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.LeakFlowClampOn"); } private void FlowClampOff_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.LeakFlowClampOff"); } private void VacuumOn_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.LeakVacuumOn"); } private void VacuumOff_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.LeakVacuumOff"); } private void StartFlow_Click(object sender, RoutedEventArgs e) { ValueSeries.Clear(); InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartFlowTest"); } private void StopFlow_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopFlowTest"); } #endregion } }