jiangjy 4 тижнів тому
батько
коміт
d75b5d19a2
1 змінених файлів з 31 додано та 7 видалено
  1. 31 7
      FrameworkLocal/UICore/Control/AnalogControl4Jet.xaml.cs

+ 31 - 7
FrameworkLocal/UICore/Control/AnalogControl4Jet.xaml.cs

@@ -46,9 +46,9 @@ namespace Aitex.Core.UI.Control
                         new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender));
 
         public static readonly DependencyProperty DeviceDataProperty = DependencyProperty.Register(
-                        "DeviceData", typeof(AnalogDeviceDataItem), typeof(AnalogControl4Jet),
-                        new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender,
-                        new PropertyChangedCallback(OnDeviceDataChanged)));
+                      "DeviceData", typeof(AnalogDeviceDataItem), typeof(AnalogControl4Jet),
+                      new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender,
+                      new PropertyChangedCallback(OnDeviceDataChanged)));
 
         public static readonly DependencyProperty TagNameProperty = DependencyProperty.Register(
                   "TagName", typeof(string), typeof(AnalogControl4Jet),
@@ -69,8 +69,8 @@ namespace Aitex.Core.UI.Control
         private double oldFeedBack;
 
         public static readonly DependencyProperty GasStateTypeProperty = DependencyProperty.Register(
-        "GasStateType", typeof(GasPanelStateType), typeof(AnalogControl4Jet),
-        new FrameworkPropertyMetadata(GasPanelStateType.Manual, FrameworkPropertyMetadataOptions.AffectsRender));
+          "GasStateType", typeof(GasPanelStateType), typeof(AnalogControl4Jet),
+          new FrameworkPropertyMetadata(GasPanelStateType.Manual, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(OnDeviceStateTypeChanged)));
         public GasPanelStateType GasStateType
         {
             get
@@ -127,10 +127,18 @@ namespace Aitex.Core.UI.Control
             DependencyProperty.Register("VirtualGasStateType", typeof(string), typeof(AnalogControl4Jet), new PropertyMetadata(""));
 
 
+        private static void OnDeviceStateTypeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+        {
+            SetDataChanged(d);
+        }
 
 
         private static void OnDeviceDataChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
         {
+            SetDataChanged(d);
+        }
+        private static void SetDataChanged(DependencyObject d)
+        {
             var self = (AnalogControl4Jet)d;
             var data = self.DeviceData;
             var gasStateType = self.GasStateType;
@@ -152,9 +160,19 @@ namespace Aitex.Core.UI.Control
                         break;
                 }
                 self.oldFeedBack = data.FeedBack;
+
+                if (data.DeviceId.Contains("MFM"))
+                {
+                    self.ViewName = data.DeviceId;
+                }
+                else
+                {
+                    self.ViewName = data.DeviceId.Replace("MFC", "");
+                }
+                ChangedBackground(self);
             }
         }
-
+  
         /// <summary>
         /// 输入值是否百分比,默认否
         /// </summary>
@@ -223,7 +241,13 @@ namespace Aitex.Core.UI.Control
             RefreshMFCData();
         }
 
-      
+        private static void ChangedBackground(AnalogControl4Jet analog4Jet)
+        {
+            BrushConverter brushConverter = new BrushConverter();
+            analog4Jet.topBorder.Background = Math.Abs(float.Parse(analog4Jet.ShowValue)) > 0.00001 ? (Brush)brushConverter.ConvertFromString("#FFFFD2") : (Brush)brushConverter.ConvertFromString("#B0D1F1");
+            analog4Jet.downBorder.Background = Math.Abs(float.Parse(analog4Jet.ShowValue)) > 0.00001 ? (Brush)brushConverter.ConvertFromString("#FFFFD2") : (Brush)brushConverter.ConvertFromString("#B0D1F1");
+            analog4Jet.UpdateLayout();
+        }
         public void RefreshMFCData()
         {
             #region FeedBack