2016-08-17 2 views
0

도와 주시면 감사하겠습니다. 나는 cef를 사용하여 litle 브라우저를 코딩하려고한다.C# WPF cef 내 텍스트 상자의 텍스트 변경시 액세스 위반이 발생했습니다.

public partial class Internet : Page 
{ 
    string Url;  

    public Internet() 
    { 
     InitializeComponent();    
    } 

    private void surf_Click(object sender, RoutedEventArgs e) 
    {    
     browser.Load(uri.Text);        
    }  

    public void browser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e) 
    { 
     uri.Text = Url; 
    }  

    private void browser_FrameLoadStart(object sender, CefSharp.FrameLoadStartEventArgs e) 
    { 
     this.Url = e.Url;   
    } 
} 

좀 도와주세요 공공 무효 browser_FrameLoadEnd에서 텍스트 상자의 텍스트를 변경하는 동안 문제가

, 난 액세스 위반을 얻을. 왜 효과가 없을까요?

답변

1

이벤트가 다른 스레드에 도착했다고 생각합니다. 따라서 Invoke 방법을 TextBox으로 호출해야합니다. 예 :

uri.Invoke((MethodInvoker)(() => uri.Text = Url));