public MainWindow() { Dictionary <string, IPlaylistObtainer> extensionToObtainer = new Dictionary <string, IPlaylistObtainer> { { ".csv", new TextFilePlaylistObtainer() }, { ".xlsx", new ExcelPlaylistObtainer() } }; OpenFileDialog openFileDialog = new OpenFileDialog() { Filter = "*.xlsx;*.csv|*.xlsx;*.csv", Multiselect = false }; openFileDialog.ShowDialog(); if (string.IsNullOrEmpty(openFileDialog.FileName)) { App.Current.Shutdown(); } Playlist playlist = extensionToObtainer[Path.GetExtension(openFileDialog.FileName)].GetPlaylist(new ExtensionToTypeConverter(), openFileDialog.FileName); if (playlist == null) { Application.Current.Shutdown(); return; } InitializeComponent(); DataContext = viewModel = new PlaylistViewModel(playlist, new ClipPresenterFactory()); _control = new PlaylistControlView(viewModel, viewModel); _control.DataContext = this.DataContext; _control.Show(); _control.Closed += control_Closed; }
public MainWindow() { Playlist playlist = new TextFilePlaylistObtainer().GetPlaylist(); InitializeComponent(); DataContext = viewModel = new PlaylistViewModel(playlist); control = new PlaylistControlView(clipView); control.DataContext = this.DataContext; control.Show(); control.Closed += control_Closed; }