0

Ich habe gerade angefangen, mit Windows App-Entwicklung zu spielen. Ich versuche ein Browserfenster von der App aus per Knopfdruck zu öffnen. Ich möchte die Target App (in diesem Fall meine window browser) von einer kleineren Größe sein. Besser, wenn ich die Größe irgendwie angeben kann.Ändern Sie die Größe der Ziel-App bei der Verwendung von LaunchUriAsync in Windows Universal Application

Ich fand, dass DesiredRemainingView wird den Trick tun, aber es irgendwie nicht.

Jede Hilfe ist

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Runtime.InteropServices.WindowsRuntime; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.System; 
using Windows.UI.ViewManagement; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 

namespace App1 
{ 
    /// <summary> 
    /// An empty page that can be used on its own or navigated to within a Frame. 
    /// </summary> 
    public sealed partial class MainPage : Page 
    { 
     public ViewSizePreference UseHalf { get; private set; } 

     //public ViewSizePreference UseHalf { get; private set; } 
     public MainPage() 
     { 
      this.InitializeComponent(); 
     } 

     private void Button_Click_1(object sender, RoutedEventArgs e) 
     { 
      greetingOutput.Text = "Hello, " + nameInput.Text + "!"; 
     } 

     async private void Button_Click(object sender, RoutedEventArgs e) 
     { 
      //greetingOutput.Text = UseHalf.ToString(); 
      // The URI to launch 
      var uriBing = new Uri("http://www.bing.com"); 

      // Set the option to show a warning 
      var promptOptions = new Windows.System.LauncherOptions(); 
      //promptOptions.TreatAsUntrusted = true; 
      promptOptions.DesiredRemainingView = UseHalf; 

      // Launch the URI 
      var success = await Windows.System.Launcher.LaunchUriAsync(uriBing, promptOptions); 

      if (success) 
      { 
       // URI launched 
      } 
      else 
      { 
       // URI launch failed 
      } 
     } 

    } 
} 

Antwort

2

Ja, wir die LauncherOptions.DesiredRemainingView können die Ziel App gewünschte Ansichtsgröße angeben. Aber welche Arten von Windows Browser benutzen Sie? Wenn Ihr Windows-Browser der Internet Explorer oder Edge ist, stellen Sie bitte sicher, dass Sie den Windows-Browser geschlossen haben, bevor Sie die Quell-App starten. Danach wird ein neuer Windows-Browser geöffnet, der die Ziel-App anzeigt an die www.bing.com Website und die LauncherOptions.DesiredRemainingView wird gut funktionieren.

Wenn wir jedoch den Windows-Browser (Internet Explorer oder Edge) nicht schließen, wird die Ziel-App als neue Registerkarte des aktuellen Windows-Browsers angehängt, anstatt eine neue zu öffnen Windows-Browser Auf diese Weise können wir nicht den Effekt sehen, den die LauncherOptions.DesiredRemainingView mit sich bringen sollte.

Aber wenn Ihr Windows Brower ist Chrome oder andere Drittanbieter-Browser, die LauncherOptions.DesiredRemainingView möglicherweise nicht wokr. Der Grund für den dritten Teil der Browser kann nicht auf LauncherOptions.DesiredRemainingView antworten, um das korrekte Verhalten zu implementieren, kann mit den internen Einstellungen der Browser zusammenhängen. Wenn wir die Startfunktion korrekt implementieren möchten, muss die Zielanwendung die Protokolle oder die Regel oder andere Theorien verstehen.

Im Folgenden ist das Ergebnis nach der Windows-Brower Kanten schließen, bevor die App ausgeführt wird: enter image description here

Dank.

+0

Hallo Feng. Vielen Dank für die detaillierte Erklärung, wie die Methode funktioniert. Könnten Sie mir bitte mehr darüber sagen, auf welche andere Weise ich das Browserfenster in einer kleineren Größe öffnen kann als meine App, so dass es eher wie ein Minibrowser aussieht. Dies kann in JavaScript beim Umgang mit Webseiten und HTML erreicht werden. Aber wie macht man das aus einer Windows Universal App? Der Einfachheit halber nehmen wir an, dass der Browser Edge ist. – iamrudra