CAFE

Winform & WPF | C# 질문

Webview2 관련 질문입니다.

작성자c00012|작성시간21.08.25|조회수2,464 목록 댓글 3

안녕하세요.

 

밑에 올린 help파일 관련 문제를 어찌 해결할까 고민하다가 박문찬님 말씀대로 블로그를 하나 만들어 거기에 help 파일을 붙이기로 하고 Webview2 컨트롤을 이용해서 다음과 같이 구현을 했습니다.

 

1. HelpView XAML

<Window x:Class="PayEstPractice.Views.HelpWeb"         

        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:PayEstPractice.Views"         

        xmlns:local1="clr-namespace:PayEstPractice.ViewModel"         

        xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"         Background="AliceBlue"         

        ResizeMode="NoResize"         

        mc:Ignorable="d"         

        Title="HelpWeb" Height="500" Width="750">     

       <Window.DataContext>         

          <local1:PersonalViewModel/>     

       </Window.DataContext>     

       <Grid>         

           <DockPanel>             

                <wv2:WebView2 Name="webView"  Source="https://mamdero.blogspot.com" />         

           </DockPanel>     

       </Grid>

</Window>

2. MVVM-Viewmodel

 

public ICommand HelpNaviCommand { get; }//to navigate help view

 

HelpNaviCommand = new RelayCommand(HelpNavi);

 

private void HelpNavi()        

{            

       Views.HelpWeb hw = new Views.HelpWeb();            

       string text = "https://mamdero.blogspot.com";

       hw.webView.CoreWebView2.Navigate(text);        

}

 

위와 같이 구현한 코드를 실행시켰더니

 

에러메시지

위와 같은 에러 메시지가 나오네요. 

어디가 잘못된 것인지 지적해 주심 감사하겠습니다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자카키104 | 작성시간 21.08.26 https://stackoverflow.com/questions/63116740/why-my-corewebview2-which-is-object-of-webview2-is-null
    내용을 참고하시면 될것 같습니다.
  • 작성자심재운 | 작성시간 21.08.26 https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section 에 있는 Evergreen Standalone Installer 의 WebView2 Runtime 을 설치해야 하다는 말씀이죠? 😁😁😁😁😁😁😁
  • 작성자c00012 작성자 본인 여부 작성자 | 작성시간 21.08.26 문제를 해결했습니다. webview 객체의 초기화 문제였는데, 코드를 다음과 같이 바꿔서 해결했습니다.

    private async void HelpNavi()
    {
    Views.HelpWeb hw = new Views.HelpWeb();
    hw.Show();
    await hw.webView.EnsureCoreWebView2Async(null);
    hw.webView.CoreWebView2.Navigate(WebViewSource);
    }
    코드를 이렇게 바꿔서 웹 뷰 객체에서 제 블로그가 나오는 거까지는 확인을 했는데, 희한한 게 하나 있더군요.
    await hw.webView.EnsureCoreWebView2Async(null);
    위 코드에 VS에서 권고하는 대로 코드를 바꿔서
    await hw.webView.EnsureCoreWebView2Async(null).configureawait(false);
    위와 같이 하면 에러가 뜨고 configurewait를 해제하면 잘 됩니다. 왜 그런지는 더 연구해봐야겠네요. 박문찬님 조언 감사드립니다
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼