久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

WPF 與網(wǎng)頁交互(Frame,,WebBrowser)(

 yan的圖書41 2013-11-13

WPF中有個很好的機制,就是Frame,,F(xiàn)rame不僅可以像網(wǎng)頁中的Frame一樣加載Wpf的page對象,,還可以加載WEB,使用方法:

frame1.Source = new Uri("http://localhost:2613/Default.aspx");

當(dāng)然也可以用Navigate方法設(shè)置Source的Uri,,還可以通過設(shè)置Content,,但是稍微麻煩一點,因為需要創(chuàng)建一個WebBrowser對象作為Content,。

 

在WPF界面中放入Frame控件,,并設(shè)置好Source后,運行,,就可以理解看到網(wǎng)頁被嵌入到了Frame中,。

 

僅僅是現(xiàn)實網(wǎng)頁并不是我的目的,我需要和網(wǎng)頁交互,。

 

在web開發(fā)的過程中,,可以知道,Javascript或其他腳本語言或者插件都需要通過獲得web的document對象,,然后操作這個document對象,。因此,沒有例外,我們需要獲得Frame加載的頁面的Document對象,。

方法如下:

 

            WebBrowser wb =  (WebBrowser)frame1.Content;

            要獲得Frame加載的網(wǎng)頁的內(nèi)容就一定需要獲得Frame的Content屬性,,frame的Content屬性是Object,但是因為我們加載的是網(wǎng)頁,,因此,,Content屬性的真實類型是System.Windows.Controls.WebBrowser,,雖然VS2008工具欄里沒有WebBrowser控件,,但是Frame加載的網(wǎng)頁依然是以WebBrowser類型返回的,也許是Frame能做的事情比較多,,因此沒必要再用WebBrowser控件了,,但是依然有WebBrowser類來處理網(wǎng)頁對象。

 

            mshtml.HTMLDocumentClass htmldocument = (mshtml.HTMLDocumentClass)wb.Document;

           獲得WebBrowser后,,我們就需要獲得WebBrowser中的網(wǎng)頁文檔對象了HTMLDocumentClass,,這個類里才具體包含了網(wǎng)頁文檔的具體屬性和方法。WebBrowser對象的網(wǎng)頁文檔對象就是Document屬性返回的對象,,因此用上面一句就可以獲得了,,但是有個地方要注意,創(chuàng)建項目后默認(rèn)是沒有mshtml.HTMLDocumentClass引用的,,因此手動引用.NET庫里的Microsoft.mshtml程序集,。

 

           htmldocument.getElementByIdx("test").setAttribute("value","修改后內(nèi)容",0);

           接下來的事情就如同用Javascript在WEB中的操作過程了。

 

不得不說,,WPF開發(fā)上確實比較方便了,,在不熟悉的情況下也許比較困難,但是熟悉了WPF,,感覺能輕松完成之前在WINFORM里比較困難的操作,!WPF中的Frame確實很不錯,好用,,之前開發(fā)用其加載WPF的PAGE項,,能把桌面應(yīng)用工作機制做得像瀏覽器一樣,現(xiàn)在又發(fā)現(xiàn)其可以和WEB如此無縫的結(jié)合,,WPF確實能將WEB和桌面應(yīng)用整合得很好,!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多