XHotSniperX
Lt. Junior Grade
- Registriert
- Jan. 2008
- Beiträge
- 474
Hallo
ich möchte eine XML Datei aus dem Internet Laden in einem Thread und während des Ladens soll der Inhalt des Buttons sich zu "Lädt..." verwandeln und sobald der Thread fertig ist, soll dann auf dem Button "Aktualisieren" stehen.
Dass sich der Inhalt des Buttons nicht verändert, liegt wahrcheinlich an dem Freeze des Hauptprogramms während des Joins(). Aber das schlimmere Problem ist, dass der Thread irgendwie garnicht beendet wird und somit das Programm einfach einfriert bei Join.
Mein Ziel ist einfach eine ganz einfache Nachricht während des Ladens, damit man weiss, es wird geladen.
Wieso beendet der Thread nicht?
Wäre dankbar für Tipps
ich möchte eine XML Datei aus dem Internet Laden in einem Thread und während des Ladens soll der Inhalt des Buttons sich zu "Lädt..." verwandeln und sobald der Thread fertig ist, soll dann auf dem Button "Aktualisieren" stehen.
Dass sich der Inhalt des Buttons nicht verändert, liegt wahrcheinlich an dem Freeze des Hauptprogramms während des Joins(). Aber das schlimmere Problem ist, dass der Thread irgendwie garnicht beendet wird und somit das Programm einfach einfriert bei Join.
Mein Ziel ist einfach eine ganz einfache Nachricht während des Ladens, damit man weiss, es wird geladen.
Wieso beendet der Thread nicht?
Code:
private static XElement doc;
public static void LoadXmlItems()
{
WebClient client = new WebClient();
String xmlURL = "http://xxxx.xml";
client.OpenReadCompleted += new OpenReadCompletedEventHandler(Completed);
client.OpenReadAsync(new Uri(xmlURL, UriKind.Absolute));
}
private static void Completed(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error != null)
return;
Stream str = e.Result;
doc = XElement.Load(str);
str.Close();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
button1.Content = "Lädt..."; //Button-Inhalt ändert sich nicht. Wegen Freeze?
Thread t = new Thread(LoadXmlItems);
t.Start();
t.Join(); //Geht nicht weiter...
xmlLoaded();
button1.Content = "Aktualisieren"; //Button-Inhalt ändert sich nicht. Wegen Freeze?
}
Wäre dankbar für Tipps