public MainWindow() { DataContext = this; InitializeComponent(); SetupHandbrake(); StartRefreshOpticalDrives(); MovieEncodeInfo = new MovieEncodeInfo(this, this.encodeQueue); MovieEncodeInfo.PropertyChanged += OnEncodeInfoPropertyChanged; TVShowEncodeInfo = new TVShowEncodeInfo(this, this.encodeQueue); TVShowEncodeInfo.PropertyChanged += OnEncodeInfoPropertyChanged; Tabs.SelectionChanged += OnTabChanged; SourceInitialized += OnSourceInitialized; Closing += OnClosingWindow; LoadSettings(); // We frequently don't care about unobserved exceptions; swallow them silently. TaskScheduler.UnobservedTaskException += (o, e) => { e.SetObserved(); }; }