FlowPumpPanel.xaml.cs 2.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
using FLY.DownBlowing.Common;
using FLY.DownBlowing.IService;
using FLY.OBJComponents.Client;
using System;
using System.Collections.Generic;
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;
using Unity;

namespace FLY.DownBlowing.UI.Client.UiModule
{
    /// <summary>
    /// FlowPumpPanel.xaml 的交互逻辑
    /// </summary>
    public partial class FlowPumpPanel : UserControl
    {
        static string[] update_propertynames;
        IDownBlowingSystemService downBlowingSystemService;
        SetPLCUpdatePlan setPlan;

        static FlowPumpPanel()
        {
            update_propertynames = new string[] {
                nameof(IbcData.FlowPumpValue),
                nameof(IbcData.FlowValue),
                nameof(IbcData.FlowValueSet),
                nameof(IbcData.IsFlowPumpOn)
            };
        }
        public FlowPumpPanel()
        {
            InitializeComponent();
        }

        [InjectionMethod]
        public void Init(
            IDownBlowingSystemService downBlowingSystemService)
        {
            this.downBlowingSystemService = downBlowingSystemService;
            this.DataContext = this.downBlowingSystemService;
潘栩锋's avatar
潘栩锋 committed
51 52


53 54 55 56 57 58 59 60 61 62
        }

        private void UserControl_Unloaded(object sender, RoutedEventArgs e)
        {
            if (this.setPlan != null)
            {
                setPlan.Dispose();
                setPlan = null;
            }
        }
63 64 65 66 67 68 69 70 71 72 73 74 75 76

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            if (this.setPlan == null)
            {
                string objname = nameof(IDownBlowingSystemService.IbcData);

                this.setPlan = new SetPLCUpdatePlan(
                    this.downBlowingSystemService.PLCos,
                    objname,
                    update_propertynames
                    );
            }
        }
77 78
    }
}