2016-08-17 51 views
0

我希望你能幫助我。我嘗試使用cef編寫一個litle瀏覽器。C#WPF cef訪問衝突改變我的文本框的文本

的問題是,我得到一個訪問衝突而改變文本框的文本在公共無效browser_FrameLoadEnd

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;   
    } 
} 

請幫助我。爲什麼它不起作用?

回答

1

我想事件到達不同的線程。因此,你必須調用TextBoxInvoke方法,例如,

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