Was ist der beste Weg, um eine Statusmeldung in WPF anzuzeigen?
-
09-06-2019 - |
Frage
Ich habe mehrere WPF-Seiten mit Schaltflächen zum Aktualisieren/Löschen/Hinzufügen.Ich möchte dem Benutzer Nachrichten wie „Erfolgreiches Löschen“ usw. anzeigen.Wie kann ich dies am besten implementieren, damit die Nachricht an einem einzigen Ort definiert wird (ähnlich einer asp.net-Masterseite) und ich diese Nachricht von überall aus aktualisieren kann?
Lösung
Möglicherweise möchten Sie ein Publish/Subscribe-Muster („Observer“) in Betracht ziehen – definieren Sie ein „Status geändert“-Ereignis auf einer Basisseite und erstellen Sie ein benutzerdefiniertes Steuerelement, das einen Delegaten und einen Ereignishandler einrichtet, um auf Statusaktualisierungen zu warten.
Dann könnten Sie das benutzerdefinierte Steuerelement auf jeder Seite ablegen, die von der Basis erbt, und es würde automatisch auf Statusmeldungen warten und diese anzeigen, wenn das Ereignis ausgelöst wird.
Bearbeiten: Ich habe eine Beispielimplementierung dieses Musters zusammengestellt und hat einen Blogbeitrag veröffentlicht den Code durchgehen.
Andere Tipps
Ich glaube nicht, dass Sie die ASP.Net-Masterseiten in übersetzt haben WPF-Seite Welt gerade noch.
Als Workaround, bis MS dort ankommt, würde ich wahrscheinlich oben auf der Seite (oder wo auch immer) ein Steuerelement platzieren, das nur eine bestimmte Benutzerebene anzeigt.Anwendungseinstellung".Sie können die String-Eigenschaft wie folgt aktualisieren
MyAppUserSettings.StatusMessage = "You just deleted the administrator!"
Grob, aber meiner Meinung nach reicht es aus!