In einem WPF-Benutzersteuerelement muss ich einen Aufruf an einen WebService vornehmen. Ich mache diesen Anruf auf einem separaten Thread, aber ich möchte den Benutzer informieren, dass der Anruf einige Zeit dauern kann.So zeigen Sie eine Fortschrittsleiste über einem Steuerelement in WPF
Die WebMethod gibt mir eine Sammlung von Objekten zurück und ich binde es an eine ListBox in meinem UC. So weit, so gut ... Dieser Teil funktioniert wirklich gut. Jedoch, Ich möchte einen Fortschrittsbalken (oder eine Animation aller Art ...) während des Anrufs anzeigen. Diese Animation wäre oben und zentriert im ListBox-Steuerelement.
Ich versuchte Adorner und es funktioniert teilweise. Allerdings muss ich alle Steuerelemente im geschützten Override zeichnen void OnRender (DrawingContext drawingContext) ... Ich möchte einfach ein Steuerelement für ein paar Sekunden hinzufügen ...
Jeder hat eine Idee, wie ich das erreichen könnte?
Danke!
Wow! Gute Antwort! Wie zentriere ich das ProgressBar-Steuerelement in der Mitte der ListBox mit Ihrer Lösung? Segeltuch? – Martin
Hmm - Sie können das Fortschrittsfeld als untergeordnetes Element der ListBox definieren und alle anderen Elemente innerhalb der Sichtbarkeitsliste des Listenfelds auf reduziert setzen. Wenn Sie das Fortschrittsfeld nicht benötigen, legen Sie die Sichtbarkeit auf minimiert fest. –
Oder Sie könnten die ListBox ein Child eines anderen Containers, wie ein Raster, und die Fortschrittsanzeige ein Geschwister der ListBox sein - dann können Sie einfach die horizontale und vertikale Ausrichtung der Fortschrittsanzeige auf "Center" setzen, und es wird zentriert, wenn es sichtbar gemacht wird. –