private void mGrbl_PlannerBlocksChangedDo(CPlannerBlocksChangedEventArgs e)
 {
     switch (e.PlannerBlocksChangedState)
       {
     case EPlannerBlockChangedState.BlockAdded:
       AddLineToList(mPlannedLines, e.Target);
       break;
     case EPlannerBlockChangedState.BlockRemoved:
       RemovePlannedLine();
       break;
       }
 }
 private void mGrbl_PlannerBlocksChanged(object sender, CPlannerBlocksChangedEventArgs e)
 {
     Dispatcher.Invoke(() => mGrbl_PlannerBlocksChangedDo(e));
 }