예제 #1
0
        private void OnBeforeNavigate(object sender, NavigationEventArgs e)
        {
            if (PrepareNavigation != null)
            PrepareNavigation (this, e);

              if (_preparations == null || !_preparations.Url.Equals (e.Url))
            return;
              if (_preparations is FullWindowPreparations)
              {
            var preparations = (FullWindowPreparations) _preparations;
            Dispatch (preparations.Browser, preparations.Target, preparations.StartMode, string.Empty, e.AddressType);
              }
              else
            Dispatch (_preparations.Browser, e.BrowserWindowTarget, e.StartMode, e.TargetName, e.AddressType);

              _preparations = null;
        }
        public string PrepareNewWindow(string url, string type, string option)
        {
            ArgumentUtility.CheckNotNull ("type", type);
              ArgumentUtility.CheckNotNull ("url", url);
              var guid = Guid.NewGuid();
              var id = MakeId (guid);
              BrowserWindowTarget parsedType;
              if (!BrowserWindowTarget.TryParse (type, true, out parsedType))
            parsedType = BrowserWindowTarget.Tab;

              BrowserWindowStartMode startMode;
              if (!BrowserWindowStartMode.TryParse (option, true, out startMode))
            startMode = BrowserWindowStartMode.Active;

              _registeredPreparations[id] = new WindowPreparations { Type = parsedType, URL = url, StartMode = startMode };
              return id;
        }
예제 #3
0
        protected void Prepare(IExtendedWebBrowser webBrowser, Uri uri, BrowserWindowStartMode startMode, BrowserWindowTarget target)
        {
            ArgumentUtility.CheckNotNull ("webBrowser", webBrowser);

              _preparations = new FullWindowPreparations (webBrowser, uri, target, startMode);
        }