2012-08-07 2 views
-1

웹 브라우저에 html을 표시하는 데 문제가 있습니다. "Deployment.Current.Dispatcher.BeginInvoke"메서드를 사용하고 있지만 아무것도 표시되지 않습니다. 내가 뭘하려고하는지 문자열로 서버에서 HTML을 받고 내 웹 브라우저에 표시됩니다. 나는 messagebox를 표시 할 수 있지만 웹 브라우저에 html이 포함 된 문자열을 보낼 수 없습니다. 다음은 나에게 문제가 제공되는 코드의 조각입니다 :
Deployment.Current.Dispatcher.BeginInvoke( () => { WebBrowser webBrowser1 = new WebBrowser(); //MessageBox.Show(responseString); webBrowser1.NavigateToString(responseString); });Deployment.Current.Dispatcher.BeginInvoke 아무 것도하지 않습니다.

+0

직접 작성한 문자열로 이동하려 했습니까? 같은 var responseStringMock = "

안녕하세요 세계

"; ? –

+0

나는 별도의 프로젝트에 있으며 잘 작동합니다. 하지만 현재 프로젝트에서 문제가 발생하면 잘못된 크로스 스레드가 있음을 알려줍니다. –

답변

1

난 당신이 콜백 코드 내부의 WebBrowser -instance 만드는 때문에이 오류의 원인은 생각 - 당신이 어쨌든하지 말아야 ? 어떻게하면 주 웹 브라우저 - 응용 프로그램 (IE)로 응용 프로그램에서 이동하려는 경우 화면에 표시하려고하기 때문에 (대신 WebBrowserTask를 사용해야합니다

그래서 중 하나.

  1. 너 응용 프로그램보기 (하이브리드 스타일) 안에 WebBrowser을 표시하려고합니다. 그렇다면 다른 인스턴스를 만드는 대신 WebBrowser.NavigateToString(string html)으로 전화해야합니다.
  2. 휴대 전화의 기본 브라우저 앱 (Internet Explorer)에서 다운로드 한 HTML을 표시하려고합니다. 이것은 HTML을 직접 넘겨줌으로써 수행 할 수 없으며 브라우저가 직접 찾을 수있는 URI 객체를 보내야합니다.

물론 문제는 코드의 다른 곳에서 발생합니다. 이것은 내가 제공 한 정보와 코드로 답변 할 수있는 최선의 방법입니다.

관련 문제