2010-01-21 57 views
1

對於一個相當大的項目,我必須弄清楚如何(如果可能的話)來解決這一問題。我有一個全屏幕的WPF應用程序做幻燈片放映 - 每張幻燈片20秒。現在我必須研究用URL替換幻燈片的可能性,讓用戶瀏覽幻燈片,而不是每隔10秒更換一次幻燈片。設置是這樣的:如何解決我的WPF應用程序和託管IEXPLORER之間的溝通?

  1. 首先定時幻燈片將運行,例如, 5張幻燈片
  2. 我告訴我的網頁,並讓用戶與網站(導航)
  3. 當用戶「做的東西(這是問題)」互動該網站是由「滑動」和原來的刪除幻燈片恢復

顯示的容器是一個WPF UserControl,帶有允許它切換到下一張幻燈片(調用Next()方法)的事件。 IExporer託管在此控件中。

問題IM面是這樣的:我如何從我的託管應用程序調用next()方法的網站溝通?

的IEXPLORER顯示該網站是我的WPF用戶控件中承載。有什麼方法可以訪問某種事件或其他任何事情來幫助我確定某個特定頁面或特定鏈接是否被按下?

的WebServices,在光盤上的文件,你的名字,我已經準備好進行任何嘗試:-)

任何建議或可能的解決方案表示讚賞。

回答

1

如果您在WPF應用程序使用WebBrowser控件,您可以調用使用JavaScript從HTML C#類。例如,假設您有類似以下的類:

[ComVisible(true)] 
public class JavaScriptBackEnd 
{ 
    public void onclick(string s) 
    { 
     MessageBox.Show(s); 
    } 
} 

然後用下面的代碼初始化WebBrowser控件:

private void Window_Loaded(object sender, RoutedEventArgs e) 
{ 
    webBrowser1.ObjectForScripting = new JavaScriptBackEnd(); 
    webBrowser1.Navigate(new Uri(@"HTMLPage1.htm")); 
} 

從HTMLPage1.htm你現在可以調用JavaScriptBackEnd.onclick方法有以下的javascript:

function testclick() { 
    window.external.onclick('blabla'); 
} 
+0

不錯!正是我需要的 – 2010-01-21 14:09:00

相關問題