mirror of
http://git.xinwangdao.com/cnnc-embedded-parts-detect/detect.git
synced 2025-06-24 21:44:12 +08:00
62 lines
1.7 KiB
C#
62 lines
1.7 KiB
C#
![]() |
using System.Threading;
|
|||
|
using Avalonia;
|
|||
|
using Avalonia.Controls;
|
|||
|
using Avalonia.Markup.Xaml;
|
|||
|
using Avalonia.Platform;
|
|||
|
using Avalonia.Threading;
|
|||
|
using Avalonia.VisualTree;
|
|||
|
using detect.gui.ViewModels;
|
|||
|
using ReactiveUI;
|
|||
|
|
|||
|
namespace detect.gui.Views;
|
|||
|
|
|||
|
public partial class WebBrowserWindow : Window
|
|||
|
{
|
|||
|
public UserView? 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;
|
|||
|
}
|
|||
|
|
|||
|
private void InitializeComponent()
|
|||
|
{
|
|||
|
AvaloniaXamlLoader.Load(this);
|
|||
|
}
|
|||
|
|
|||
|
public void InitUI(int? index = null)
|
|||
|
{
|
|||
|
if (ParentContent == null) return;
|
|||
|
var timer = new Timer(_ =>
|
|||
|
{
|
|||
|
Dispatcher.UIThread.InvokeAsync(() =>
|
|||
|
{
|
|||
|
if (!ParentContent.IsAttachedToVisualTree()) return;
|
|||
|
Width = ParentContent.Get<Border>("WebView").Bounds.Width;
|
|||
|
Height = ParentContent.Get<Border>("WebView").Bounds.Height;
|
|||
|
Position = ParentContent.Get<Border>("WebView").PointToScreen(new Point(0, 0));
|
|||
|
if (index != null)
|
|||
|
SetAddress(index.Value);
|
|||
|
if (!IsVisible)
|
|||
|
Show();
|
|||
|
|
|||
|
// DataContext = ParentContent.DataContext;
|
|||
|
});
|
|||
|
});
|
|||
|
timer.Change(100, 0);
|
|||
|
}
|
|||
|
|
|||
|
public void SetAddress(int index)
|
|||
|
{
|
|||
|
(DataContext as WebViewModel)!.SetAddress(index);
|
|||
|
}
|
|||
|
}
|