private void uiAlarm_AlertEvent(object sender, Tuple <Alarm, bool> e)
 {
     if (e.Item1 != null)
     {
         foreach (Camera_Preset preset in e.Item1.Cameras)
         {
             foreach (UIElement uiE in this.UIMapContent.Children)
             {
                 if (uiE is UIMapCamera)
                 {
                     UIMapCamera uiCamera = uiE as UIMapCamera;
                     if (preset.camera_id == App.DataCamera[uiCamera.Postion].id)
                     {
                         if (e.Item2)
                         {
                             if (uiCamera.Goto((uint)preset.Postion))
                             {
                                 uiCamera.Alarm();
                             }
                         }
                     }
                 }
             }
         }
     }
 }
        void uiPreset_DebugEvent(object sender, EventArgs e)
        {
            UIMapPreset uiPreset = sender as UIMapPreset;

            this.Dispatcher.Invoke(() =>
            {
                foreach (UIElement uiE in this.UIMapContent.Children)
                {
                    if (uiE is UIMapCamera)
                    {
                        UIMapCamera uiCamera = uiE as UIMapCamera;
                        if (App.DataCamera[uiCamera.Postion].id == uiPreset.Preset.Camera[0].camera_id)
                        {
                            if (uiCamera.alert)
                            {
                                uiCamera.Alarm(false);
                            }
                            else
                            {
                                uiCamera.Alarm(true);
                            }

                            break;
                        }
                    }
                }
            });
        }
 public void DrawMap()
 {
     this.UIMapContent.Children.Clear();
     if (App.DataCamera != null && App.DataCamera.Count > 0)
     {
         for (int i = 0; i < App.DataCamera.Count; i++)
         {
             UIMapCamera uiCamera = new UIMapCamera();
             uiCamera.Width   = 34;
             uiCamera.Height  = 170;
             uiCamera.Postion = i;
             uiCamera.PreviewMouseLeftButtonDown += uiCamera_PreviewMouseLeftButtonDown;
             uiCamera.MoveEvent          += uiCamera_MoveEvent;
             uiCamera.ViewCameraEvent    += uiCamera_ViewCameraEvent;
             uiCamera.DeleteCameraEvent  += uiCamera_DeleteCameraEvent;
             uiCamera.AddPresetEvent     += uiCamera_AddPresetEvent;
             uiCamera.ConnectCameraEvent += uiCamera_ConnectCameraEvent;
             this.UIMapContent.Children.Add(uiCamera);
         }
     }
     if (App.DataPreset != null && App.DataPreset.Count > 0)
     {
         for (int i = 0; i < App.DataPreset.Count; i++)
         {
             UIMapPreset uiPreset = new UIMapPreset();
             uiPreset.Width                       = 34;
             uiPreset.Height                      = 170;
             uiPreset.Preset                      = App.DataPreset[i];
             uiPreset.MovePresetEvent            += uiPreset_MovePresetEvent;
             uiPreset.PreviewMouseLeftButtonDown += uiPreset_PreviewMouseDown;
             uiPreset.DeletePresetEvent          += uiPreset_DeletePresetEvent;
             uiPreset.DebugEvent                 += uiPreset_DebugEvent;
             this.UIMapContent.Children.Add(uiPreset);
         }
     }
     if (App.DataAlarm != null && App.DataAlarm.Count > 0)
     {
         for (int i = 0; i < App.DataAlarm.Count; i++)
         {
             UIMapAlarm uiAlarm = new UIMapAlarm();
             uiAlarm.Width      = 34;
             uiAlarm.Height     = 170;
             uiAlarm.Postion    = i;
             uiAlarm.MoveEvent += uiAlarm_MoveEvent;
             uiAlarm.PreviewMouseLeftButtonDown += uiAlarm_PreviewMouseLeftButtonDown;
             uiAlarm.ViewAlarmEvent             += uiAlarm_ViewAlarmEvent;
             uiAlarm.DeleteAlarmEvent           += uiAlarm_DeleteAlarmEvent;
             uiAlarm.ConnectCameraEvent         += uiAlarm_ConnectCameraEvent;
             uiAlarm.DisableAlarmEvent          += uiAlarm_DisableAlarmEvent;
             uiAlarm.AlertEvent       += uiAlarm_AlertEvent;
             uiAlarm.EditConnectEvent += uiAlarm_EditConnectEvent;
             uiAlarm.ScheduleEvent    += uiAlarm_ScheduleEvent;
             this.UIMapContent.Children.Add(uiAlarm);
         }
     }
 }
        void uiCamera_MoveEvent(object sender, int e)
        {
            UIMapCamera uiCamera = sender as UIMapCamera;
            Point       p        = Mouse.GetPosition(this.UIMapContent);

            uiCamera.setLeft(p.X - origContentMousePoint.X);
            uiCamera.setTop(p.Y - origContentMousePoint.Y);
            App.DataCamera[e].Left = p.X;
            App.DataCamera[e].Top  = p.Y;
        }
 private async void UnRepeatCamera(object sender, RoutedEventArgs e)
 {
     foreach (UIElement uiE in this.UIMapContent.Children)
     {
         if (uiE is UIMapCamera)
         {
             UIMapCamera uiCamera = uiE as UIMapCamera;
             uiCamera.RunAround();
             await Task.Delay(200);
         }
     }
 }
        void uiCamera_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            UIMapCamera uiCamera = sender as UIMapCamera;

            origContentMousePoint = Mouse.GetPosition(uiCamera);
        }