Skip to content

Commit

Permalink
Migrate to WebView2 #252
Browse files Browse the repository at this point in the history
  • Loading branch information
BornToBeRoot committed Aug 31, 2020
1 parent e18aacf commit d2605ae
Show file tree
Hide file tree
Showing 10 changed files with 160 additions and 153 deletions.
90 changes: 45 additions & 45 deletions Source/NETworkManager.Models/NETworkManager.Models.csproj
@@ -1,50 +1,50 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<ProjectGuid>{8A2859DC-38B6-4E9D-A6B2-1828DC6641B3}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>NETworkManager.Models</RootNamespace>
<AssemblyName>NETworkManager.Models</AssemblyName>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<None Remove="Resources\DiscoveryProtocol.ps1" />
<None Remove="Resources\OUI.xml" />
<None Remove="Resources\Ports.xml" />
<None Remove="Resources\WhoisServers.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\DiscoveryProtocol.ps1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="DnsClient" Version="1.3.2" />
<PackageReference Include="IPNetwork2" Version="2.5.211" />
<PackageReference Include="Lextm.SharpSnmpLib" Version="12.0.0" />
<PackageReference Include="MahApps.Metro" Version="2.2.0" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.4.0" />
<PackageReference Include="Microsoft.PowerShell.5.ReferenceAssemblies" Version="1.1.0" />
<PackageReference Include="Microsoft.Toolkit.Wpf.UI.Controls.WebView" Version="6.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
</ItemGroup>
<PropertyGroup>
<ProjectGuid>{8A2859DC-38B6-4E9D-A6B2-1828DC6641B3}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>NETworkManager.Models</RootNamespace>
<AssemblyName>NETworkManager.Models</AssemblyName>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<None Remove="Resources\DiscoveryProtocol.ps1" />
<None Remove="Resources\OUI.xml" />
<None Remove="Resources\Ports.xml" />
<None Remove="Resources\WhoisServers.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\DiscoveryProtocol.ps1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="DnsClient" Version="1.3.2" />
<PackageReference Include="IPNetwork2" Version="2.5.224" />
<PackageReference Include="Lextm.SharpSnmpLib" Version="12.0.0" />
<PackageReference Include="MahApps.Metro" Version="2.2.0" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.4.0" />
<PackageReference Include="Microsoft.PowerShell.5.ReferenceAssemblies" Version="1.1.0" />
<PackageReference Include="Microsoft.Windows.SDK.Contracts" Version="10.0.17763.1000" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\NETworkManager.Utilities\NETworkManager.Utilities.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NETworkManager.Utilities\NETworkManager.Utilities.csproj" />
</ItemGroup>

<ItemGroup>
<Content Include="Resources\OUI.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Resources\OUI.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

<ItemGroup>
<Content Include="Resources\Ports.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\WhoisServers.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

<ItemGroup>
<Content Include="Resources\Ports.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\WhoisServers.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

</Project>
68 changes: 34 additions & 34 deletions Source/NETworkManager.Settings/NETworkManager.Settings.csproj
@@ -1,36 +1,36 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<ProjectGuid>{954E8703-3E6E-42BF-BD28-F0B19BE10E0C}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>NETworkManager.Settings</RootNamespace>
<AssemblyName>NETworkManager.Settings</AssemblyName>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Themes\**" />
<EmbeddedResource Remove="Themes\**" />
<None Remove="Themes\**" />
<Page Remove="Themes\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="DnsClient" Version="1.3.2" />
<PackageReference Include="Lextm.SharpSnmpLib" Version="12.0.0" />
<PackageReference Include="MahApps.Metro" Version="2.2.0" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.4.0" />
</ItemGroup>
<ItemGroup>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NETworkManager.Controls\NETworkManager.Controls.csproj" />
<ProjectReference Include="..\NETworkManager.Models\NETworkManager.Models.csproj" />
<ProjectReference Include="..\NETworkManager.Utilities\NETworkManager.Utilities.csproj" />
</ItemGroup>
<PropertyGroup>
<ProjectGuid>{954E8703-3E6E-42BF-BD28-F0B19BE10E0C}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>NETworkManager.Settings</RootNamespace>
<AssemblyName>NETworkManager.Settings</AssemblyName>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Themes\**" />
<EmbeddedResource Remove="Themes\**" />
<None Remove="Themes\**" />
<Page Remove="Themes\**" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="DnsClient" Version="1.3.2" />
<PackageReference Include="Lextm.SharpSnmpLib" Version="12.0.0" />
<PackageReference Include="MahApps.Metro" Version="2.2.0" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.4.0" />
</ItemGroup>

<ItemGroup>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NETworkManager.Controls\NETworkManager.Controls.csproj" />
<ProjectReference Include="..\NETworkManager.Models\NETworkManager.Models.csproj" />
<ProjectReference Include="..\NETworkManager.Utilities\NETworkManager.Utilities.csproj" />
</ItemGroup>
</Project>
26 changes: 13 additions & 13 deletions Source/NETworkManager.Utilities/NETworkManager.Utilities.csproj
@@ -1,16 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<ProjectGuid>{5C3D1749-D260-4566-B448-B94B3AD9EEFF}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>NETworkManager.Utilities</RootNamespace>
<AssemblyName>NETworkManager.Utilities</AssemblyName>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup>
<ProjectGuid>{5C3D1749-D260-4566-B448-B94B3AD9EEFF}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>NETworkManager.Utilities</RootNamespace>
<AssemblyName>NETworkManager.Utilities</AssemblyName>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="DnsClient" Version="1.3.2" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="DnsClient" Version="1.3.2" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion Source/NETworkManager/Controls/DragablzTabHostWindow.xaml
Expand Up @@ -367,7 +367,7 @@
<Grid>
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="{x:Static localization:Strings.Refresh}" Command="{Binding Data.WebConsole_RefreshCommand, Source={StaticResource BindingProxy}}" CommandParameter="{Binding View}">
<MenuItem Header="{x:Static localization:Strings.Reload}" Command="{Binding Data.WebConsole_ReloadCommand, Source={StaticResource BindingProxy}}" CommandParameter="{Binding View}">
<MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="{DynamicResource MahApps.Brushes.Gray3}">
<Rectangle.OpacityMask>
Expand Down
4 changes: 2 additions & 2 deletions Source/NETworkManager/Controls/DragablzTabHostWindow.xaml.cs
Expand Up @@ -270,8 +270,8 @@ private void WebConsole_RefreshAction(object view)
{
if (view is WebConsoleControl control)
{
if (control.RefreshCommand.CanExecute(null))
control.RefreshCommand.Execute(null);
if (control.ReloadCommand.CanExecute(null))
control.ReloadCommand.Execute(null);
}
}
#endregion
Expand Down
41 changes: 28 additions & 13 deletions Source/NETworkManager/Controls/WebConsoleControl.xaml
Expand Up @@ -8,12 +8,12 @@
xmlns:localization="clr-namespace:NETworkManager.Localization.Resources;assembly=NETworkManager.Localization"
xmlns:converters="clr-namespace:NETworkManager.Converters;assembly=NETworkManager.Converters"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
xmlns:edge="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls.WebView"
xmlns:webview="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
mah:DialogParticipation.Register="{Binding}"
mc:Ignorable="d" Loaded="UserControl_Loaded" d:DataContext="{d:DesignInstance networkManagerControls:WebConsoleControl}">
<UserControl.Resources>
<converters:BooleanReverseToVisibilityCollapsedConverter x:Key="BooleanReverseToVisibilityCollapsedConverter" />
<converters:BooleanToVisibilityCollapsedConverter x:Key="BooleanToVisibilityCollapsedConverter" />
<converters:BooleanToVisibilityCollapsedConverter x:Key="BooleanToVisibilityCollapsedConverter" />
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
Expand All @@ -30,6 +30,8 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="10" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button Command="{Binding GoBackCommand}" Grid.Column="0" Style="{StaticResource CleanButton}">
<Rectangle Width="24" Height="24" >
Expand Down Expand Up @@ -65,7 +67,7 @@
</Rectangle.Style>
</Rectangle>
</Button>
<Button Command="{Binding RefreshCommand}" Grid.Column="4" Style="{StaticResource CleanButton}">
<Button Command="{Binding ReloadCommand}" Grid.Column="4" Style="{StaticResource CleanButton}">
<Rectangle Width="24" Height="24" >
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=Refresh}" />
Expand All @@ -82,23 +84,36 @@
</Rectangle.Style>
</Rectangle>
</Button>
<TextBox x:Name="txtBoxAddress" Text="{Binding Url}" IsEnabled="False" Grid.Column="6" Style="{StaticResource DefaultTextBox}" />
<TextBox x:Name="txtBoxAddress" Text="{Binding Url, UpdateSourceTrigger=PropertyChanged}" Grid.Column="6" Style="{StaticResource DefaultTextBox}" />
<Button Command="{Binding NavigateCommand}" IsDefault="True" Grid.Column="8" Style="{StaticResource CleanButton}">
<Rectangle Width="24" Height="24" >
<Rectangle.OpacityMask>
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=Play}" />
</Rectangle.OpacityMask>
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Setter Property="Fill" Value="{DynamicResource MahApps.Brushes.Gray3}" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Button}}, Path=IsMouseOver}" Value="True">
<Setter Property="Fill" Value="{DynamicResource MahApps.Brushes.Gray5}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</Button>
</Grid>
<mah:MetroProgressBar Grid.Row="1" IsIndeterminate="True" Visibility="{Binding IsLoading, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}" Margin="0,0,0,10"/>
<edge:WebView Grid.Row="2" x:Name="Browser2">
<edge:WebView.Style>
<Style TargetType="{x:Type edge:WebView}">
<webview:WebView2 Grid.Row="2" x:Name="Browser2">
<webview:WebView2.Style>
<Style TargetType="{x:Type webview:WebView2}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsCertificateInvalid}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding FirstLoad}" Value="True">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</edge:WebView.Style>
</edge:WebView>
<TextBlock Grid.Row="2" Text="{x:Static localization:Strings.WebViewControlCertificateIsInvalidMessage}" Style="{StaticResource MessageTextBlock}" Visibility="{Binding IsCertificateInvalid, Converter={StaticResource BooleanToVisibilityCollapsedConverter}}" Margin="10" />
</webview:WebView2.Style>
</webview:WebView2>
</Grid>
</UserControl>

0 comments on commit d2605ae

Please sign in to comment.