2017-03-05 2 views
0
zeigt

Ich versuche, eine Anwendung zu entwickeln, die Hintergrundaufgabe ausführt (Lesen von RFID-Sensor einer Maschine) Ich möchte eine andere Aufgabe für das Melden des Maschinenzustands erstellen, es wird den letzten Zeitsensor prüfen wird gelesen, und wenn es mehr als 5 Minuten ist, wird es den Benutzer auffordern, den Grund des Wartens zu wählen. Nachdem es angezeigt wird, möchte ich, dass die Aufgabe weiterhin überprüft wird. Wenn der Computer startet, bevor der Benutzer etwas aus dem Inhaltsdialog auswählt, möchte ich den Inhaltsdialog ausblenden und weiterarbeiten. Natürlich frage ich nicht nach dem vollständigen Code :) Es wäre großartig, wenn Sie ein sehr kurzes Beispiel für eine Hintergrundaufgabe geben könnten, die den Inhaltsdialog anzeigen und weiterlaufen kann. Closest Beispiel fand ich das ist, aber ich konnte nicht verstehen, und zu meinem Code Show a modal UI in the middle of background operation and continueWie man Inhaltdialog von Hintergrundaufgabe in uwp APP

Vielen Dank implementieren.

await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, 
      () => 
       { 
        if (DialogisOpen == false) 
        { 
         //its been 3 min since machine is not working so we  are showing user dialog to ask for a reason 
         mp = new MainPage(); 
         mp.TestUi(); 
         DialogisOpen = true; 

        } 

       }); 
+0

können Sie nicht ... aber Sie können die Aufmerksamkeit der Benutzer mit einer Toast-Benachrichtigung erhalten. –

+0

danke für die Antwort. Aber bist du sicher? Dieser Link ich teilte diesen Kerl scheint er machte – Cozdemir

+1

Es ist WPF er geht über und Sie tun UWP. Eine Hintergrundaufgabe in UWP kann keine Benutzeroberfläche anzeigen, da die Vordergrundanwendung nicht ausgeführt wird. Arbeiten Sie zum Beispiel nur mit einer Toast-Benachrichtigung. WPF hat andererseits nicht das Hintergrund-Task-System als UWP. Sind Sie sicher, dass Sie eine Hintergrundaufgabe verwenden? –

Antwort

1

A Background hat keine UI Unterstützung, so kann keine UI zeigen (einschließlich einem ContentDialog), weil sie keinen Zugriff auf den UI-Thread hat, aber es gibt ein paar Dinge, die man stattdessen tun könnte .

  • Haben die BG-Task eine ToastNotification angezeigt (die UI hat)
  • keine Hintergrundaufgabe Verwenden Sie, haben eine vollständige Anwendung, die und einen separaten Prozess minimiert läuft diese am Laufen zu halten.
  • Tun Sie es in WPF, wo Ihr Beispiel funktioniert. (Sie haben nicht gesagt, wenn es einen Grund gibt, warum Sie das nicht tun können.)
  • Lassen Sie Ihre BGTask eine Nachricht (auf verschiedene Arten) an einen anderen Prozess auf dem Computer senden (oder starten), der die Eingabeaufforderung anzeigen kann.
Verwandte Themen