using Avalonia.Controls; using Avalonia.Markup.Xaml; using Avalonia.Platform; using detect.gui.Services; using detect.gui.ViewModels; using Serilog; using Splat; using WebViewControl; namespace detect.gui.Views; public partial class WebBrowserWindow : Window { public UserControl? ParentContent { get; set; } public WebBrowserWindow() { InitializeComponent(); DataContext = new WebViewModel(); ExtendClientAreaToDecorationsHint = true; ExtendClientAreaChromeHints = ExtendClientAreaChromeHints.NoChrome; ExtendClientAreaTitleBarHeightHint = -1; SystemDecorations = SystemDecorations.None; // ShowInTaskbar = false; // Topmost = true; CanResize = false; var webview = this.Get("WebView"); var service = Locator.Current.GetService(); webview.RegisterJavascriptObject("DeviceClientService", service); webview.RegisterJavascriptObject("WebViewService", new WebViewService(this)); Log.Information("WebView Initialized."); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } public void SetAddress(int index) { (DataContext as WebViewModel)!.SetAddress(index); } }