2012-04-02 12 views
8

WPF web tarayıcısının LoadCompleted olayını dinliyorum. Navigasyonla ilgili ayrıntılar sağlayan bazı navigasyon argümanları var. Bununla birlikte, e.Content her zaman null'dur.WPF web tarayıcısı - HTML indirilsin mi?

Burada yanlış olaya dikkat ediyor muyum? Dize olarak indirilen HTML'yi nasıl alabilirim?

some things which I would consider hacks'u denedim, ancak indirilen dizgi olmasa bile bir HTML dizisi döndürdüler. Örneğin, bana abc dizesini gönderen bir sayfaya gittiğimde, bu yöntemle <document><body>abc</body></document> sonucunu veya benzer bir sonucu elde ediyorum.

Bu koşuyu elde etmek için daha fazla kesintiye girmemeyi tercih ederim.

cevap

17

Bu olay yalnızca en üst düzey gezinmeler için tetiklenir, muhtemelen ilk sorunun nedeni.

Bahsedilen yaklaşım hiç kesilmiyor, indirilen belgenin HTML metnini (tüm etiketler dahil) döndüren resmi bir API'sidir.

dynamic doc = webBrowser.Document; 
var htmlText = doc.documentElement.InnerHtml; 

Eğer HTML belgesinden bir düz metin almak istiyorsanız, bunu nasıl bir simple explanation yoktur.

+0

Neredeyse o kadar çok daha fazla özellik sunar sırf WindowsFormsHost kontrolünde WinForms WebTarayıcı kullanacaktım ama bu güzel çalıştı. –

+1

Neden toprak üzerinde "dinamik" değişkeniyle gitmeye karar verdiler? –