Hey, Ich habe eine WPF-Anwendung, die auf Prism4 basiert. Bei langsamen Vorgängen möchte ich einen aktiven Bildschirm anzeigen. Ich werde eine große Anzahl von Bildschirmen haben, also versuche ich, eine einzige Lösung in das Framework zu integrieren, anstatt jedem Bildschirm den Busy-Indikator hinzuzufügen.Wie man eine beschäftigte Nachricht über einem wpf Bildschirm anzeigt
Diese lang laufenden Operationen werden in einem Hintergrundthread ausgeführt. Dadurch kann die Benutzeroberfläche aktualisiert werden (gut), der Benutzer wird jedoch nicht daran gehindert, die Benutzeroberfläche zu verwenden (schlecht). Was ich tun möchte, ist, ein Steuerelement mit einer sich drehenden Dial-Art zu überlagern und diese Kontrolle über den gesamten Bildschirm abzudecken (der alte HTML-Trick mit DIVs). Wenn die App beschäftigt ist, würde die Steuerung anzeigen, so dass jede weitere Interaktion blockiert wird und die Spinning-Sache angezeigt wird.
Um das einzurichten, dachte ich, ich könnte einfach meinen App-Bildschirm in einer Leinwand zusammen mit dem Spinning Ding (mit einem größeren ZIndex) haben, dann machen Sie das Spinning-Ding wie erforderlich sichtbar.
Dies wird jedoch hart. Leinwände scheinen dafür nicht gut aufgestellt zu sein und ich denke, ich könnte den falschen Baum bellen.
Ich würde jede Hilfe zu schätzen wissen. Vielen Dank.
siehe meine Antwort für eine einfachere Art und Weise, wenn Sie Interaktion mit der gesamten App verhindern wollen – markmnl