Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
idc
Člen
Avatar
idc:20.9.2013 17:54

Ahoj, dělám program ve WPF, kde mám v List<string> list uloženo několik webových adres. S těmito adresami bych chtěl provést něco takového:

private void button_Click(object sender, RoutedEventArgs e)
{
    foreach (string s in list)
    {
        thisIsWeb.Navigate(s);
        thisIsWeb.LoadCompleted += thisIsWeb_LoadCompleted;
    }
}

private void thisIsWeb_LoadCompleted(object sender, NavigationEventArgs e)
{
    WebBrowser bro = sender as WebBrowser;
    this.arrOfAdresses.Add(bro.Source.ToString());
}

arrOfAdresses by mělo správně správně obsahovat několik odlišných webových adres, ale obsahuje pouze jednou, protože ty ostatní zcela ignoruje.
Potřeboval bych tedy, abych v arrOfAdresses měl několik odlišných stránek a také bych potřeboval, aby se to vše realizovalo s ovládacím prvkem WebBrowser. Vím, že je zde asi velká většina založena na WF, avšak doufám, že mi dokážete poradit. Díky za veškeré odpovědi :)

Editováno 20.9.2013 17:55
 
Odpovědět
20.9.2013 17:54
Avatar
Paradise
Tvůrce
Avatar
Paradise:20.9.2013 18:15

No vůbec nechápu, o co se snažíš. Mohl bys to trošku upřesnit? Jinak neměl by to být spíš URI list?

 
Nahoru Odpovědět
20.9.2013 18:15
Avatar
idc
Člen
Avatar
idc:20.9.2013 18:28

Dobře, zkusím to trochu upřesnit. Řekněme, že v List<string> list máme facebookové profily, které jsou dejme tomu ve tvaru:
http://www.facebook.com/jmeno.prijmeni. Každá adresa je jiná a liší se ve jménu a přijmení. Každý tento profil obsahuje dané ID, podle kterého mohu získat počet fotek, přátel atd.. Tedy, potřeboval bych se dostat na každý profil, který mám v listu a vypsat třeba počet fotek. Tohle ale mohu uskutečnit pouze s jednou adresou, ale nikoliv a polem adres(List<strin­g>). Jde o to, že to načte vždy tu poslední adresu. BTW: V tomto případě je jedno, jestli načítám přes Browser.Source = new Uri(xxx); nebo přes Browser.Naviga­te(xxx);

 
Nahoru Odpovědět
20.9.2013 18:28
Avatar
Paradise
Tvůrce
Avatar
Paradise:20.9.2013 18:36

Tak našti jednu, ulož si co potřebuješ a pokračuj ne? Nebude také problém v tom, že ten event vytváříš v tom foreach? To je podle mě vysvětlení, proč to udělá jen s tím poslendím.

 
Nahoru Odpovědět
20.9.2013 18:36
Avatar
idc
Člen
Avatar
idc:20.9.2013 18:39

No nevím, jestli je problém s tím eventem. Ten event tam však musí být, protože jinak dostanu null a vyjímku.

 
Nahoru Odpovědět
20.9.2013 18:39
Avatar
Paradise
Tvůrce
Avatar
Paradise:20.9.2013 18:40

No však ho zkus posunout před ten foreach cyklus..

 
Nahoru Odpovědět
20.9.2013 18:40
Avatar
idc
Člen
Avatar
idc:20.9.2013 18:43

Když ho posunu před foreach cyklus, tak mi bude k ničemu, protože přeci nebudu načítat žádnou stránku. I když jsem to zkusil, tak výsledek je stále stejný.

 
Nahoru Odpovědět
20.9.2013 18:43
Avatar
Paradise
Tvůrce
Avatar
Paradise:21.9.2013 9:38

No ale event dopředu mít deklarovaný můžeš ne? Zkus tam hodit pár breakpointů a podle mě chybu najdeš :)

 
Nahoru Odpovědět
21.9.2013 9:38
Avatar
idc
Člen
Avatar
idc:21.9.2013 11:04

Nakonec jsem to udělal tak, že pokaždé, když se chci navigovat na nějakou stránku, tak jsem si vytvořil nový WebBrowser a ten poté navigoval na danou adresu a poté si zavolal event LoadCompleted. Šlape to podle mých představ :)

 
Nahoru Odpovědět
21.9.2013 11:04
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.