public GridStack()
 {
     InitializeComponent();
     m_PlaybackInfoCollection = PlaybackInfoCollection.Load(Properties.Settings.Default.GridXmlFile);
     InitializeGridStack(m_PlaybackInfoCollection);
     MainWindow.OnApplicationQuit   += MainWindow_OnApplicationQuit;
     MainWindow.OnButtonStopPressed += MainWindow_OnButtonStopPressed;
 }
 private void InitializeGridStack(PlaybackInfoCollection m_PlaybackInfoCollection)
 {
     if (m_PlaybackInfoCollection.Stages.Count > 0)
     {
         foreach (var ps in GridStackPanel.Children.OfType <PlaybackStage>().OrderBy((s => s.StackId)))
         {
             var pi = m_PlaybackInfoCollection.GetInfoByStackId(ps.StackId);
             ps.PlaybackInfo = pi;
         }
     }
     else
     {
         foreach (var ps in GridStackPanel.Children.OfType <PlaybackStage>().OrderBy((s => s.StackId)))
         {
             ps.InitializePlaybackInfo(ps.StackId);
         }
     }
 }