Probleme mit der ApplicationView-Klasse
Hallo zusammen,
ich entwickle ja, wie bekannt sein dürfte, eine App für Windows 10. Aus Schutzgründen sowie zur Gewährleistung einer ordentliche Benutzerfahrung wollte ich zwei Sachen definieren, die sich über die ApplicationView-Klasse steuern lassen:
- IsScreenCaptureEnabled zur Verhinderung von Screenshots meiner App aus Datenschutzgründen (für den Nutzer, nicht um meine Daten zu schützen)
- SetPreferredMinSize zur Festlegung der Mindestgröße für die Desktop/Tablet-Version meiner App
Beide Funktionen laufen anscheinend einwandfrei auf Windows 10 Mobile, zumindest sollten sie es, denn SetPreferredMinSize funktioniert mobil nicht, da man das Window ja nicht resizen kann und IsScreenCaptureEnabled kann ich auf dem Emulator nicht testen und mobil geht auch nicht, habe ja VS2015 RTM und somit nur Build 10240 des SDK und das Deployment aufs Phone wird verweigert, da Build 166 läuft. Auf meinem Laptop, folglich also dem normalen Windows 10, geht beides allerdings nicht, es kommt zu unterschiedlichen Fehlerbildern:
- SetPreferredMinSize wird anscheinend unabhängig von der Größe des Fensters ignoriert, ich kann das Fenster beliebig kleiner machen, erst das OS blockt dann irgendwann das Resizing ab (die OS-seitige Mindestgröße liegt lt. Doku bei 500*500px)
- IsScreenCaptureEnabled führt dazu, dass die App nicht mehr korrekt startet, ich sehe nur den SplashScreen und es passiert nichts mehr.
Ich finde die beiden Problem ziemlich kurios, zumal beides seit Windows 8(.1) vorhanden ist und damit doch funktionieren dürfte, solange MS die WinRT für Windows 10 nicht irgendwie neu implementiert hat und dabei dann ein Fehler untergekommen ist.
Hat jemand vielleicht dasselbe Problem und weiß Rat oder funktioniert es bei euch? Meine App wurde damals mit dem 10066er-SDK erstellt und im Zuge des RTM-SDKs musste ich meine csproj fixen, wobei ich nicht denke, dass das für das Problem verantwortlich ist bzw. es hoffentlich nicht so ist. Kurz zum Aufbau der App: Ich verwende, wie im Navigation-Sample von MS gezeigt, eine Page im integriertem Frame als "ShellHost" (für einfachere Implementierung des Hamburger/SplitView und anderen kleineren Dingen) und setze diesen dann als Content für mein Window (da ist normalerweise ja direkt ein Frame drin)
AW: Probleme mit der ApplicationView-Klasse
Keiner eine Idee? Ich hab es zumindest irgendwie fertiggebracht, dass SetPreferredMinSize nun 550px Höhe forciert, aber sonst will die API auch nicht und ich weiß nicht, wieso bzw unter welchen Umständen
AW: Probleme mit der ApplicationView-Klasse
Im Detail hab ich mich leider noch nicht damit auseinandergesetzt. Das mobile Testen sollte aber eigentlich wieder gehen mit der 10512 die jetzt ausgerollt wird.
Sonst wärs evtl. noch eine Idee mal ein neues Projekt anzulegen und da eben nur die zwei Properties zu setzen um zu sehen ob es dann geht. Dann ließe sich auch ausschließen, dass es an dem Projektupgrade liegt.
AW: Probleme mit der ApplicationView-Klasse
Also zumindest für das Problem mit der Größe kenne ich nun die Lösung: Man kann maximal 500x500epx als Mindestgröße festlegen. Steht auch so im MSDN, hab ich wohl überlesen. Nur bzgl. dem Problem mit den Screenshots kenn ich keinen Rat derzeit, denn das Sample von 8.1, welches ich nach Anleitung von MS auf UWP portiert hab, funktioniert kurioserweise. Ich werde mal aber mit einer neuen App testen, ob es dann geht (bin mir nicht sicher, ob ich es nicht schon tat), dann liegt der Fehler im Projekt
AW: Probleme mit der ApplicationView-Klasse
Mittlerweile habe ich nun auch das Problem mit dem ScreenCapture gelöst. Offenbar darf ich das Property nicht auf der ersten Page setzen, die nach dem Start gezeigt wird. Setze ich es auf einer späteren Page, dann klappt alles wie gewünscht.