public void SetElement(VisualElement element) { var oldElement = Element; Element = element; Element.PropertyChanged += HandlePropertyChanged; ((WebView)Element).EvalRequested += OnEvalRequested; ((WebView)Element).GoBackRequested += OnGoBackRequested; ((WebView)Element).GoForwardRequested += OnGoForwardRequested; Delegate = new CustomWebViewDelegate(this); BackgroundColor = UIColor.Clear; AutosizesSubviews = true; _tracker = new VisualElementTracker(this); _packager = new VisualElementPackager(this); _packager.Load(); _events = new EventTracker(this); _events.LoadEvents(this); Load(); OnElementChanged(new VisualElementChangedEventArgs(oldElement, element)); if (Element != null && !string.IsNullOrEmpty(Element.AutomationId)) AccessibilityIdentifier = Element.AutomationId; if (element != null) element.SendViewInitialized(this); }
protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); if (e.OldElement == null) { Delegate = new CustomWebViewDelegate(); //Assigning the delegate } }
protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); if (e.OldElement == null) { // perform initial setup UIWebView myWebView = (UIWebView)this.NativeView; Delegate = new CustomWebViewDelegate(e.NewElement as WebView); } }
public void SetElement(VisualElement element) { var oldElement = Element; Element = element; Element.PropertyChanged += HandlePropertyChanged; WebView.EvalRequested += OnEvalRequested; WebView.EvaluateJavaScriptRequested += OnEvaluateJavaScriptRequested; WebView.GoBackRequested += OnGoBackRequested; WebView.GoForwardRequested += OnGoForwardRequested; WebView.ReloadRequested += OnReloadRequested; Delegate = new CustomWebViewDelegate(this); BackgroundColor = UIColor.Clear; AutosizesSubviews = true; _tracker = new VisualElementTracker(this); _packager = new VisualElementPackager(this); _packager.Load(); _events = new EventTracker(this); _events.LoadEvents(this); Load(); OnElementChanged(new VisualElementChangedEventArgs(oldElement, element)); EffectUtilities.RegisterEffectControlProvider(this, oldElement, element); if (Element != null && !string.IsNullOrEmpty(Element.AutomationId)) { AccessibilityIdentifier = Element.AutomationId; } if (element != null) { element.SendViewInitialized(this); } }
protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); var webView = e.NewElement as CustomWebView; if (webView != null) { Delegate = new CustomWebViewDelegate(ViewController, webView); webView.EvaluateJavascript = (js) => { Debug.WriteLine("C# function sending this JavaScript => " + js); return(Task.FromResult(EvaluateJavascript(js))); }; } if (NativeView != null && e.NewElement != null) { SetupControl(); } }