private async void cbxViewSelector_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { if (e.AddedItems.Count <= 0) { return; } OnUpdateStatus(LocalizationHelper.GetString("MantisConnectWindowLoadingView"), 0, true); contentGrid.Children.Clear(); var v = _viewList.FirstOrDefault(vue => (vue as IView).DisplayName == cbxViewSelector.SelectedValue.ToString()); if (!(v as IView).Initialized) { OnUpdateStatus(LocalizationHelper.GetString("MantisConnectWindowViewInitializing", (v as IView).DisplayName), 0, true); if (Properties.Settings.Default.ExtensionConfigured) { var ex = await(v as IView).InitializeData(); if (ex != null) { DisplayError(ex); } } else { DisplayError(new System.Configuration.ConfigurationException(LocalizationHelper.GetString("ErrExtensionNotConfigured"))); } } contentGrid.Children.Add(v); OnUpdateStatus(LocalizationHelper.GetString("MantisConnectWindowViewLoaded", (v as IView).DisplayName), 100, false); } catch (System.Configuration.ConfigurationException cer) { if (!(settingView as IView).Initialized) { settingView.InitializeData(); } contentGrid.Children.Add(settingView); cbxViewSelector.SelectedItem = (settingView as IView).DisplayName; OnUpdateStatus(LocalizationHelper.GetString("ErrExtensionNotConfigured"), 100, false); DisplayError(cer); } catch (Exception ex) { OnUpdateStatus(LocalizationHelper.GetString("MantisConnectWindowErrorLoadingView"), 0, false); DisplayError(ex); } }