void m_viewModel_TrafficEventReceived(TrafficeEventInfoV3_1 obj)
 {
     if (InvokeRequired)
     {
         this.Invoke(new Action<TrafficeEventInfoV3_1>(m_viewModel_TrafficEventReceived), obj);
     }
     else
     {
         if (trafficEventList.Count >= 50)
         {
             var item = trafficEventList[trafficEventList.Count - 1];
             item.Dispose();
             trafficEventList.RemoveAt(trafficEventList.Count - 1);
             advTreeTrafficEvent.Nodes.RemoveAt(trafficEventList.Count - 1);
         }
         var property = new TrafficeEventProperty(obj);
         trafficEventList.Insert(0, property);
         //advTreeTrafficEvent.RefreshItems();
         DevComponents.AdvTree.Node n = new DevComponents.AdvTree.Node(property.EventType);
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.StartTime));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.EndTime));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.PlateNum));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.VehicleColor));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.VehicleType));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.VehicleTypeDetail));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.VehicleLabel));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.VehicleLabelDetail));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.VehicleSpeed));
         n.Cells.Add(new DevComponents.AdvTree.Cell(property.CameraCode));
         n.Tag = property;
         advTreeTrafficEvent.Nodes.Insert(0,n);
     }
 }
        void m_dataReceiveService_OnTrafficEventReceived(TrafficeEventInfoV3_1 obj)
        {
            if (obj == null)
            {
                return;
            }

            if (TrafficEventReceived != null && (TrafficFilterType == E_TRAFFIC_EVENT_TYPE.E_TRAFFIC_EVENT_TYPE_None || TrafficFilterType == obj.EventType))
            {
                TrafficEventReceived(obj);
            }
        }