ListOrdersResult ist schon dein Root Element deswegen liefert .Element("ListOrdersResult") darauf auch null weil es sich ja nicht nochmal enthält. Was du willst ist:
XElement elements = root.Element("Orders").Elements("Order");
foreach (XElement item in elements)
Console.WriteLine(item);
Ich würde das ganze in ein UserControl stecken und die Texte selber zeichnen.
[Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox)
Für das dritte hilft evtl. Debugger.IsAttached
Spontan fiele mir z.B. die Levenshtein-Distanz ein.
bzgl. MVVM, hat da jemand ein GUTES "Verständliches" Tutorial ?
Also ich habe mit dem MVVM Tutorial von Josh Smith letztendlich den Einstieg gefunden. Es ist erst mal etwas erschlagend zugegeben aber wenn man sich gründlich durcharbeitet macht es irgendwann klick und es ist ganz logisch 😉.
Naja dein "Output" wird beim Start des Programs einmal gesetzt und bleibt dann für immer so. Das ist aber etwas was du innerhalb von 1 min hättest selber rausfinden können:
[Artikel] Debugger: Wie verwende ich den von Visual Studio?
Mach es doch einfach wie im MVVM Tutorial von Josh Smith und lass deine "Workspaces"-VMs ein RequestClose Event feuern im CloseCommand. Dieses abonierst du wenn ein Item deiner Collection hinzugefügt wird und im Eventhandler entfernst du es (siehe Tut).
Ich vermute das laden der Daten geht recht schnell aber das einfügen ins Diagramm dauert eben und blockiert/belastet vmtl. den GUI Thread was wiederum das GIF bremst. Ohne die Details zu kennen was wie lange dauert und wie konkret umgesetzt ist kann man hier nur raten.
"WPF Fenster in Klassenbiliothek"