private void Timer_Tick(object sender, EventArgs e) { if (trainInMove) { Char delimeter = ';'; offset = VisualTreeHelper.GetOffset(newTrain); String[] subString = offset.ToString().Split(delimeter); Double xPoint = Double.Parse(subString[0]); Double yPoint = Double.Parse(subString[1]); switch (ModbusProtocol.availableTrack2) { case 403: Console.WriteLine("x: {0} y:{1}", xPoint, yPoint); TrackSensorsViewModel.Track445(xPoint, yPoint); TrackSensorsViewModel.Track403a_a(xPoint, yPoint); TrackSensorsViewModel.Track403a_b(xPoint, yPoint); TrackSensorsViewModel.Track403a_c(xPoint, yPoint); TrackSensorsViewModel.Track403a_d(xPoint, yPoint); TrackSensorsViewModel.Track403a_e(xPoint, yPoint); TrackSensorsViewModel.Track446(xPoint, yPoint); break; case 406: Console.WriteLine("x: {0} y:{1}", xPoint, yPoint); TrackSensorsViewModel.Track445(xPoint, yPoint); TrackSensorsViewModel.Track406a(xPoint, yPoint); TrackSensorsViewModel.Track406b(xPoint, yPoint); TrackSensorsViewModel.Track406c(xPoint, yPoint); TrackSensorsViewModel.Track446(xPoint, yPoint); break; } } else { timer.Stop(); } }