返回提交历史
Added
XFEExtension.NetCore.WinUIHelper.TestApp/ViewModels/WebViewTestPageViewModel.cs
+16
-0
Added
XFEExtension.NetCore.WinUIHelper.TestApp/Views/WebViewTestPage.xaml
+14
-0
Added
XFEExtension.NetCore.WinUIHelper.TestApp/Views/WebViewTestPage.xaml.cs
+14
-0
Modified
XFEExtension.NetCore.WinUIHelper.TestApp/XFEExtension.NetCore.WinUIHelper.TestApp.csproj
+6
-0
Added
XFEExtension.NetCore.WinUIHelper/Implements/Services/WebViewService.cs
+20
-0
Added
XFEExtension.NetCore.WinUIHelper/Interface/Services/IWebViewService.cs
+23
-0
XFEstudio/XFEExtension.NetCore.WinUIHelper
添加WebView服务
ef41476
代码差异
6 个文件
+93
-0
@@ -0,0 +1,16 @@
1
using XFEExtension.NetCore.WinUIHelper.Interface.Services;
2
using XFEExtension.NetCore.WinUIHelper.Utilities;
3
4
namespace XFEExtension.NetCore.WinUIHelper.TestApp.ViewModels;
5
6
public partial class WebViewTestPageViewModel : ViewModelBase
7
{
8
public IAutoNavigationParameterService<string> AutoNavigationParameterService { get; set; } = ServiceManager.GetService<IAutoNavigationParameterService<string>>();
9
10
public WebViewTestPageViewModel() => AutoNavigationParameterService.ParameterChange += AutoNavigationParameterService_ParameterChange;
11
12
private void AutoNavigationParameterService_ParameterChange(object? sender, string? e)
13
{
14
15
}
16
}
@@ -0,0 +1,14 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<Page
3
x:Class="XFEExtension.NetCore.WinUIHelper.TestApp.Views.WebViewTestPage"
4
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
5
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
6
xmlns:local="using:XFEExtension.NetCore.WinUIHelper.TestApp.Views"
7
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
8
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
9
mc:Ignorable="d">
10
11
<Grid>
12
<WebView2/>
13
</Grid>
14
</Page>
@@ -0,0 +1,14 @@
1
namespace XFEExtension.NetCore.WinUIHelper.TestApp.Views;
2
3
/// <summary>
4
/// An empty page that can be used on its own or navigated to within a Frame.
5
/// </summary>
6
public sealed partial class WebViewTestPage : Page
7
{
8
public static WebViewTestPage? Current { get; set; }
9
public WebViewTestPageViewModel ViewModel { get; set; } = new();
10
public WebViewTestPage()
11
{
12
InitializeComponent();
13
}
14
}
@@ -18,6 +18,7 @@
18
18
<ItemGroup>
19
19
<None Remove="Views\MainPage.xaml" />
20
20
<None Remove="Views\TestPage.xaml" />
21
<None Remove="Views\WebViewTestPage.xaml" />
21
22
</ItemGroup>
22
23
23
24
<ItemGroup>
@@ -66,6 +67,11 @@
66
67
<ItemGroup>
67
68
<ProjectReference Include="..\XFEExtension.NetCore.WinUIHelper\XFEExtension.NetCore.WinUIHelper.csproj" />
68
69
</ItemGroup>
70
<ItemGroup>
71
<Page Update="Views\WebViewTestPage.xaml">
72
<Generator>MSBuild:Compile</Generator>
73
</Page>
74
</ItemGroup>
69
75
<ItemGroup>
70
76
<Page Update="Views\TestPage.xaml">
71
77
<Generator>MSBuild:Compile</Generator>
@@ -0,0 +1,20 @@
1
using Windows.Foundation;
2
using XFEExtension.NetCore.WinUIHelper.Interface.Services;
3
4
namespace XFEExtension.NetCore.WinUIHelper.Implements.Services;
5
6
class WebViewService : IWebViewService
7
{
8
private WebView2? _webView2;
9
public WebView2 WebView => _webView2 ?? throw new InvalidOperationException("WebView2 has not been initialized.");
10
11
public event TypedEventHandler<WebView2, CoreWebView2InitializedEventArgs>? Initialized;
12
13
public void Initialize(WebView2 webView2)
14
{
15
_webView2 = webView2;
16
_webView2.CoreWebView2Initialized += WebView2_CoreWebView2Initialized; ;
17
}
18
19
private void WebView2_CoreWebView2Initialized(WebView2 sender, CoreWebView2InitializedEventArgs args) => Initialized?.Invoke(sender, args);
20
}
@@ -0,0 +1,23 @@
1
using Windows.Foundation;
2
3
namespace XFEExtension.NetCore.WinUIHelper.Interface.Services;
4
5
/// <summary>
6
/// WebView服务
7
/// </summary>
8
public interface IWebViewService
9
{
10
/// <summary>
11
/// WebView控件
12
/// </summary>
13
public WebView2 WebView { get; }
14
/// <summary>
15
/// 初始化完成
16
/// </summary>
17
public event TypedEventHandler<WebView2, CoreWebView2InitializedEventArgs> Initialized;
18
/// <summary>
19
/// 初始化WebView控件
20
/// </summary>
21
/// <param name="webView2"></param>
22
public void Initialize(WebView2 webView2);
23
}