반응형

WebView2 사용방법

 

새로운 인터넷 웹뷰2를 사용하려면 패키지를 추가로 설치해주어야함

아래 스샷참고하여 패키지 설치를 먼저한 다음 코드를 작성해주면 됨

 

솔루션 우클릭 후 솔루션용 Nuget 패키지 관리 클릭

 

 

찾아보기 후 Webview 검색한 다음 Microsoft.Web.WebView2 클릭

 

 

webview를 선택한 다음 안정적인 버전 설치를 눌러 패키지 설치를 마침

 

 

 

 

Microsoft.Web.WebView2.Wpf.WebView2 webView = null;

public MainWindow()
{
    InitializeComponent();
    if (webView == null) webViewInit();
}


private void webViewInit()
{
    webView = new Microsoft.Web.WebView2.Wpf.WebView2();
    webView.Loaded += webView_Loaded;
}

private async void webView_Loaded(object sender, RoutedEventArgs e)
{
    webView.Source = new Uri("http://www.naver.com");    
    await webView.EnsureCoreWebView2Async(); //초기화하여 null return 방지
    
    //webView.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;
    //우클릭 방지, 웹뷰 새로 로드하거나 페이지 변경되면 false 풀려서 load할 때마다 추가해줘야됨
}


private void callWebView_Click(object sender, RoutedEventArgs e)
{
    webViewGrid.Children.Add(webView);

}

 

 

webView.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;

사용한 웹뷰2에서 우클릭 방지를 하고싶다면 ContextMenusEnabled 값을 false로 주면 된다

 

 

<Window x:Class="webView.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:webView"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>
        <Canvas Background="SkyBlue" Grid.Row="0">
            <Button x:Name="callWebView" Click="callWebView_Click" >웹뷰열기</Button>
        </Canvas>
        <Grid  Background="Salmon" Grid.Row="1" x:Name="webViewGrid"></Grid>
    </Grid>
</Window>

 

 

 

참고 : https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/winforms

 

Get started with WebView2 in WinForms apps - Microsoft Edge Development

Getting started guide for using WebView2 for WinForms apps.

learn.microsoft.com

 

반응형

+ Recent posts