2009-03-06 4 views
2

프레임 컨트롤이 포함 된 WPF 응용 프로그램이 있습니다. 프레임 컨트롤은 html 콘텐츠를 표시합니다. html 페이지에는 프레임과 WPF 코드에서 HTML 페이지가로드 된 후 호출 할 JavaScript 함수가 들어 있습니다. WPF 프레임 컨트롤과 WPF 코드 내에서로드 된 HTML 페이지의 JavaScript 메서드를 호출 할 수있는 방법이 있습니까?WPF 프레임 컨트롤

답변

1

DOM에 액세스 할 수 없으므로 걱정하지 않아도됩니다. 꼭 필요한 항목이면 System.Windows.Forms의 WinForms WebBrowser 컨트롤을 포함시키는 것이 가장 좋습니다.

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:f="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" 
    xmlns:fi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration.dll" > 
    <Grid> 
    <fi:WindowsFormsHost> 
     <f:WebBrowser x:Name="BrowserControl" Url="http://www.myurl.com/"/> 
    </fi:WindowsFormsHost> 
    </Grid> 
</Page> 
0

사용 <body onload="javascript:alert('hi its loaded. do what you want here');">myhtmlpage.html에게 말한다.

그런 다음 WPF 코드에서 프레임 XAML 컨트롤 (<Frame Name="myWpfFrame" Source="http://myurl/myhtmlpage.html">)을 사용하십시오.


이 솔루션을 사용하면 HTML 페이지가로드 자바 스크립트 한 번만하고 그게 전부 후 전화를 걸 가정 작동합니다. 당신이 한 번 이상 JS 더 호출 할 경우

에서와 같이 ... 당신은 아마도 같은 코드에서 프레임 컨트롤의 소스 속성을 설정할 수 있습니다 당신이 필요로 할 때 .. myWpfFrame.Source = myWpfFrame.Source;