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
'C#' 카테고리의 다른 글
[Windows] 배치파일, cmd에서 한글 깨질 때, 인코딩 하는법 (0) | 2022.12.07 |
---|---|
[C#] 윈도우에 설치된 폰트 목록 가져오는법 (feat.폰트 저장 위치) (0) | 2021.12.06 |
[C#] 파싱해온 문자열, 특정 단어 기준으로 자르기 (feat. 형변환) (0) | 2021.11.26 |
[C#] 현재 .NET SDK에서는 .NET 6.0을(를) 대상으로 하는 것을 지원하지 않습니다. 해결법 (0) | 2021.11.23 |
[C#] .net sdk 설치 유무 및 버전 확인 하는법 (2) | 2021.11.23 |
[C#] 값 형식 참조 형식 변수, 정리 기초 (0) | 2021.10.24 |