2015-09-02 6 views
7

Ich habe eine Windows UWP C#/XAML App, die ein seltsames Problem hat. Wenn das Display in den Ruhezustand wechselt und ich den Computer aufwecke, verschwinden einige Schaltflächengrafiken. Ich habe eine Windows 8-Anwendung, die das gleiche Verhalten unter Windows 10 zeigt, aber nicht unter Windows 8. Ich möchte versuchen, eine Problemumgehung zu erstellen, die UI-Elemente beim Aufwachen aus einem Schlaf aktualisiert, aber ich habe es schwer, einen Auslöser zu finden. Ich habe davon gehört PowerModeChanged event, aber ich kann diese API irgendwie nicht finden. Irgendwelche Ideen?Windows 10 Schlafproblem. Grafiken verschwinden

SystemEvents not found

+0

'SystemEvents.PowerModeChanged + = SystemEvents_PowerModeChanged;'? Visual Studio wird wahrscheinlich die richtige Verwendung finden, wenn Sie nur mit der rechten Maustaste darauf klicken. – VoidStar

+0

Siehe aktualisierte Frage. Die API ist nicht verfügbar. Ich habe bereits die Desktop-Erweiterungen für UWP hinzugefügt, aber immer noch kein Glück. –

+0

@VoidStar Ich denke, dieses Ereignis ist nicht für Windows UWP Apps verfügbar ... Zumindest nicht in dieser Form. –

Antwort

1

Ich wollte nur die Antwort hinzufügen, die sich auf das ursprüngliche Problem in meiner Frage bezieht: das Verschwinden der Grafiken.

Ich hatte mehrere Bildelemente mit dem gleichen Quell-URI (zeigt auf dasselbe Bild). Einer von ihnen war versteckt, der andere nicht. Irgendwie hat dies dazu geführt, dass die Bilder komplett verschwunden sind. Es muss etwas darüber sein, wie XAML das Verweisen auf Bilder behandelt, insbesondere nach einem suspend/wake. Ich fügte 1 zu einem der Image-URIs hinzu und das Problem wurde behoben.

1

Wenn die API nicht verfügbar ist können Sie versuchen, die Benutzeroberfläche zu aktualisieren basierend auf Maus/Tastatur-Aktivität nach für eine bestimmte Zeit im Leerlauf ist, ob das funktioniert, können Sie den Leerlauf gleich Zeit benötigt haben müssen für Computer zu schlafen, ein anderer könnte man auch versuchen, das aktivierte Ereignis auf Ihrer eigenen App zu fangen, falls es nach dem Schlaf ausgelöst wird.

+0

aktiviertes Ereignis wird nicht aufgerufen. Ich habe über die Maus/Tastatur Aktivität "Hack" gedacht, aber das scheint sehr hässlich. Wenn Sie Ihre Maus bewegen, um Ihre Tastatur aufzuwecken, fehlen die Grafiken, bis die Maus bewegt oder die Tastatur angetippt wird. Danke für den Vorschlag! –

+0

ok, ich denke, wenn es ein API-Support-Problem mit "Windows UWP" Apps gibt, eine Sache, die Sie versuchen könnten, ist eine separate App in Form eines Hintergrunddienstes oder Hintergrundprozesses mit einem anderen Projekttyp, der Zugriff haben würde zu den APIs, die Sie benötigen und mit denen Sie von Ihrer UWP-App aus mit ihr kommunizieren, um die erforderliche Aktion auszuführen. Ich habe das nie persönlich versucht, aber ich würde es vermuten, dass es möglich sein könnte. – Anas

+0

Ich kann meine App nicht mit einer anderen App versenden, um einen Fehler zu beheben ... –