public WpfBrowser(string applicationName) { try { ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>(); thisApplication = CRMWindowRouter.LoadApplicationEntity(applicationName); this.ApplicationName = applicationName; System.Windows.Controls.WebBrowser newbrowser = new System.Windows.Controls.WebBrowser(); lock (activeBrowsers) { if (!activeBrowsers.Contains(newbrowser)) { activeBrowsers.Add(newbrowser); } Trace.WriteLine("ActiveBrowsers (Browser Added) = " + activeBrowsers.Count.ToString()); } _webBrowser = newbrowser; this.Content = newbrowser; this._WebBrowserEventSink = new WebBrowserEventSink(this); } catch (Exception ex) { Trace.WriteLine("WpfBrowser: " + ex.Message + "\r\n" + ex.StackTrace); } }
private C1USDDockTabItem AddApplicationToTabControl(object app) { //TabItem element = null; C1USDDockTabItem element = null; Image icon = new Image(); IHostedApplication application = app as IHostedApplication; if (application != null) { string applicationName = application.ApplicationName; if (VerifyGlobalManagerConnection()) { Entity thisApplication = CRMWindowRouter.LoadApplicationEntity(applicationName); try { if (thisApplication != null && thisApplication.Contains("mcs_displayname")) { string appNameTemp = CRMWindowRouter.ReplaceParametersInCurrentSession((string)thisApplication["mcs_displayname"]); if (!String.IsNullOrEmpty(appNameTemp) && Utility.IsAllReplacementValuesReplaced(appNameTemp)) { applicationName = appNameTemp; } } } catch { } } element = ShowApplication(app, applicationName); if (application == DesktopApplicationUIBase.AppWithFocus) { this.SelectedItem = element; } } else if (app is System.Windows.Forms.Control) { element = ShowApplication(app, ""); AutomationProperties.SetName(element, app.ToString() + " Tab Page"); } return(element); }
public void Reset(string applicationName) { try { dataCaptured = false; ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>(); thisApplication = CRMWindowRouter.LoadApplicationEntity(applicationName); this.ApplicationName = applicationName; //HideScriptErrors(true); initialUrl = String.Empty; } catch (Exception ex) { Trace.WriteLine("WpfBrowser: " + ex.Message + "\r\n" + ex.StackTrace); } }
Object ShowApplicationOnUI(Object tabTag, UIElement child, string applicationName) { VerifyGlobalManagerConnection(); Window appwindow = new Window(); appwindow.Style = (System.Windows.Style)FindResource("FloatingWindow"); appwindow.Resources.MergedDictionaries.Clear(); foreach (ResourceDictionary dict in ((System.Windows.Application)System.Windows.Application.Current).MainWindow.Resources.MergedDictionaries) { appwindow.Resources.MergedDictionaries.Add(dict); } appwindow.Content = child; appwindow.Title = applicationName; //appwindow.Owner = ((System.Windows.Application)System.Windows.Application.Current).MainWindow; appwindow.Tag = tabTag; appwindow.Closed += new EventHandler(appwindow_Closed); floatingWindows.Add(appwindow); Entity appEntity = CRMWindowRouter.LoadApplicationEntity(applicationName); appwindow.Show(); if (appEntity != null) { if (appEntity.Contains("uii_isappdynamic") && (bool)appEntity["uii_isappdynamic"] == false) { HwndSource hwndSource = PresentationSource.FromVisual(appwindow) as HwndSource; if (hwndSource != null) { IntPtr hMenu = GetSystemMenu(hwndSource.Handle, false); if (hMenu != IntPtr.Zero) { EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED); } hwndSource.AddHook(new HwndSourceHook(this.hwndSourceHook)); } } } return(appwindow); }