Files
better-genshin-impact/BetterGenshinImpact/View/Controls/Webview/WebpageWindow.cs
2024-12-18 20:27:22 +08:00

60 lines
1.3 KiB
C#

using Microsoft.Web.WebView2.Wpf;
using System;
using System.Windows;
using Wpf.Ui.Controls;
namespace BetterGenshinImpact.View.Controls.Webview;
public class WebpageWindow : Window
{
public WebpagePanel? Panel => Content as WebpagePanel;
public WebView2 WebView => Panel!.WebView;
public WebpageWindow()
{
WebpagePanel wp = new()
{
Margin = new(8, 8, 0, 8)
};
Content = wp;
}
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
TryApplySystemBackdrop();
}
private void TryApplySystemBackdrop()
{
if (WindowBackdrop.IsSupported(WindowBackdropType.Mica))
{
WindowBackdrop.ApplyBackdrop(this, WindowBackdropType.Mica);
return;
}
if (WindowBackdrop.IsSupported(WindowBackdropType.Tabbed))
{
WindowBackdrop.ApplyBackdrop(this, WindowBackdropType.Tabbed);
return;
}
}
public void NavigateToUri(Uri uri)
{
Panel?.NavigateToUri(uri);
}
public void NavigateToHtml(string html)
{
Panel?.NavigateToHtml(html);
}
public void NavigateToFile(string path)
{
Panel?.NavigateToFile(path);
}
}