async Task InitializeAsync(string userDataFolder, ControlsBrowserTypes browserType, string navigationPath)
        {
            if (browserType == ControlsBrowserTypes.UIControlsBrowser)
            {  //set up an Environment which we can then use for the Options Browser as well.
                ControlsCoreWebView2Environment = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(null, userDataFolder, null);
            }

            await EnsureCoreWebView2Async(ControlsCoreWebView2Environment);

            CoreWebView2.Settings.AreDevToolsEnabled            = false;
            CoreWebView2.Settings.IsZoomControlEnabled          = false;
            CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;
            DefaultBackgroundColor = System.Drawing.Color.Transparent;

            ZoomFactorChanged += ControlsBrowser_ZoomFactorChanged;

            CoreWebView2.Navigate(navigationPath);

            if (browserType == ControlsBrowserTypes.OptionsControlsBrowser)
            {
                LostFocus += OptionsControlsBrowser_LostFocus;
                Visibility = System.Windows.Visibility.Hidden;
            }
        }
 public async Task InitializeUIControlsBrowserAsync(string userDataFolder, ControlsBrowserTypes browserType, string navigationPath)
 {
     await InitializeAsync(userDataFolder, browserType, navigationPath);
 }
 public async Task InitializeOptionsControlsBrowserAsync(Microsoft.Web.WebView2.Core.CoreWebView2Environment env, ControlsBrowserTypes browserType, string navigationPath)
 {
     ControlsCoreWebView2Environment = env;
     await InitializeAsync(null, browserType, navigationPath);
 }