public void Show(BrowserWindowConfigModel config) { Application.Invoke(() => { var window = new Window(serviceProvider) { Title = config.Title ?? Window.DefaultConfig.Title, Size = new Size( config.Width ?? Window.DefaultConfig.Size.Width, config.Height ?? Window.DefaultConfig.Size.Height), MinSize = new Size( config.MinWidth ?? Window.DefaultConfig.MinSize.Width, config.MinHeight ?? Window.DefaultConfig.MinSize.Height), MaxSize = new Size( config.MaxWidth ?? Window.DefaultConfig.MaxSize.Width, config.MaxHeight ?? Window.DefaultConfig.MaxSize.Height), BackgroundColor = config.BackgroundColor ?? Window.DefaultConfig.BackgroundColor, CanResize = config.CanResize ?? Window.DefaultConfig.CanResize, UseBrowserTitle = config.UseBrowserTitle ?? Window.DefaultConfig.UseBrowserTitle, EnableScriptInterface = config.EnableScriptInterface ?? Window.DefaultConfig.EnableScriptInterface, EnableDevTools = config.EnableDevTools ?? Window.DefaultConfig.EnableDevTools, Icon = parent.Icon, }; WindowStore.Add(window); window.LoadUrl(config.Url); window.Show(); }); // TODO: somehow send events from this window back to webview }
public void Show(BrowserWindowConfigModel config) { // TODO: BrowserWindowConfigModel cannot hold all possible information (like Icon and Assembly) // TODO: transfer some configs from parent window (e.g. ExternalHost) Application.Invoke(() => { var window = windowFactory.CreateWindow(config.WindowConfig); window.LoadUrl(config.Url); window.Show(); }); // TODO: somehow send events from this window back to webview }