WPF Frame control - PullRequest
       14

WPF Frame control

2 голосов
/ 06 марта 2009

У меня есть приложение WPF, содержащее элемент управления Frame. Элемент управления фреймом отображает HTML-контент. HTML-страница содержит функцию JavaScript, которую я хочу вызвать после загрузки html-страницы в Frame и из кода WPF? Можно ли вызвать метод JavaScript HTML-страницы, загруженной в элемент управления WPF-фреймом и из кода WPF?

Ответы [ 3 ]

3 голосов
/ 06 марта 2009

Вы не можете взаимодействовать с HTML внутри фрейма. Чтобы взаимодействовать с HTML, вы можете использовать WPF WebBrowser для управления .NET 3.5 SP1.

Вы можете увидеть в действии элемент управления WebBrowser в этом видео:

http://channel9.msdn.com/posts/AdamKinney/WPF-35-SP1-App-Model-with-Jennifer-Lee/

1 голос
/ 06 марта 2009

Нет доступа к DOM, поэтому я боюсь, что нет. Если это то, что вам определенно нужно, то лучше всего встроить элемент управления WinForms WebBrowser из System.Windows.Forms.

<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 голосов
/ 08 июля 2011

Используйте <body onload="javascript:alert('hi its loaded. do what you want here');"> на своей HTML-странице, скажем myhtmlpage.html .

Затем используйте элемент управления XAML (<Frame Name="myWpfFrame" Source="http://myurl/myhtmlpage.html">) в вашем коде WPF.


Это решение будет работать при условии, что вы хотите вызывать javascript только один раз , и это будет только после страницы HTML.

Если вы хотите вызывать js более одного раза, вы можете установить исходное свойство элемента управления кадром из кода, как и когда вам нужно ... как в .. myWpfFrame.Source = myWpfFrame.Source;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...