/// <summary>
        /// Main View Model, manage all the other view model, and allow each viewModel to know eatch other.
        /// This class also manage the list for the tabItem.
        /// </summary>
        private MainViewModel()
        {
            OpeningViewModel      FileOpeningViewModel  = OpeningViewModel.INSTANCE;
            SaveFileViewModel     SaveFileViewModel     = SaveFileViewModel.INSTANCE;
            SubtitlesViewModel    SubtitlesViewModel    = SubtitlesViewModel.INSTANCE;
            NullViewModel         NullViewModel         = NullViewModel.INSTANCE;
            VisualAddingViewModel VisualAddingViewModel = VisualAddingViewModel.INSTANCE;

            _items.Add(new TabItem {
                Header = "Ouvrir", Content = FileOpeningViewModel
            });
            _items.Add(new TabItem {
                Header = "Ajout Visuel", Content = VisualAddingViewModel
            });
            _items.Add(new TabItem {
                Header = "Ajout de sous titre", Content = SubtitlesViewModel
            });
            _items.Add(new TabItem {
                Header = "Enregistrer", Content = SaveFileViewModel
            });

            _items.Add(new TabItem {
                Header = "Ajout Visuel", Content = "", Visibility = Visibility.Hidden, Height = 50
            });
        }
        public SubtitlesWindow(SubtitlesViewModel subtitlesViewModel)
        {
            InitializeComponent();

            this._subtitlesViewModel = subtitlesViewModel;

            base.DataContext = this._subtitlesViewModel;

            this.Topmost = true;

            double topPos = SystemParameters.WorkArea.Height - this.Height;

            if (topPos > 0)
            {
                this.Top = topPos;
            }

            double leftPos = (SystemParameters.WorkArea.Width - this.Width) / 2;

            if (leftPos > 0)
            {
                this.Left = leftPos;
            }
        }