private void StartCalibration_Click(object sender, RoutedEventArgs e)
        {
            if (_dots.Count <= 0)
            {
                InfoBox.ErrorMsg("未定义任何点");
                return;
            }
            BtnStartCalibration.IsEnabled = false;
            ResetLayers();
            foreach (var dot in _dots)
            {
                HightLightDot(dot);
            }
            CalibrationEvent += UpdataDotPhyAddr;
            var sortedList = _dots.OrderBy(dot => dot.Info.Position.X).ThenBy(dot => dot.Info.Position.Y).ToList();

            for (var i = 0; i < sortedList.Count; i++)
            {
                _dots.Move(_dots.IndexOf(sortedList[i]), i);
            }

            _dots.First().SelectedChangedEventHandler();

            _threadHandler = new Thread(PointSearch);
            _threadHandler.Start();
        }
        private void CalibrationDot(Dot dot)
        {
            ResetLayers();
            HightLightDot(dot);
            BtnStartCalibration.IsEnabled = false;

            CalibrationEvent += UpdataDotPhyAddr;
            _calibrationDot   = dot;
            _singleFlage      = true;

            dot.SelectedChangedEventHandler();

            _threadHandler = new Thread(PointSearch);
            _threadHandler.Start();
        }