在半屏模式C#windows 8.1 app中从我的应用程序启动uri

时间:2013-10-21 18:02:42

标签: c# .net windows-store-apps uri windows-8.1

我正在尝试从我的Windows 8.1应用程序启动uri但无法在UseHalf模式下启动它 我研究并发现它应该像这样完成

       LauncherOptions lo = new LauncherOptions();
       lo.DesiredRemainingView = ViewSizePreference.UseHalf;
       lo.DisplayApplicationPicker = true;
       await Windows.System.Launcher.LaunchUriAsync(new Uri("http://www.youtube.com"),lo);

但它会一直以全屏方式启动网络浏览器 我读到发布取决于许多变量,并且不保证将应用这些设置

我的问题是有没有办法确保我的应用和浏览器会以半屏模式并排打开?

2 个答案:

答案 0 :(得分:0)

必须工作:

Uri uri = new Uri("http://www.youtube.com");
LauncherOptions options = new LauncherOptions
{
    DesiredRemainingView = ViewSizePreference.UseHalf
};

await Launcher.LaunchUriAsync(uri, options);

如果没有,请尝试这个长代码:

ApplicationView currentAppView = ApplicationView.GetForCurrentView();  

CoreApplicationView newCoreAppView = CoreApplication.CreateNewView();  

newCoreAppView.Dispatcher.RunAsync(  
  CoreDispatcherPriority.Normal,  
  async () =>  
  {  
    // This executes on the new dispatcher so I assume that Window.Current and so on  
    // reflects the new Window associated with that dispatcher rather than the original  
    // dispatcher.  
    Window newWindow = Window.Current;  
    ApplicationView newAppView = ApplicationView.GetForCurrentView();  


    await ApplicationViewSwitcher.TryShowAsStandaloneAsync(  
      newAppView.Id,  
      ViewSizePreference.UseHalf,  
      currentAppView.Id,  
      ViewSizePreference.UseHalf);  
  });

来自Here

答案 1 :(得分:0)

在咨询了msdn开发者论坛之后,事实证明这是唯一的方法 并且应用程序无法强制执行此类行为,此代码的结果取决于浏览器的设置和许多其他变量