前回書き忘れましたが、ProjectionManager を利用するとタスクバーのプレビューウィンドウも2つになります
ここで ProjectionManager.SwapDisplaysForViewsAsync というメソッドを使ってみます
if (!ProjectionManager.ProjectionDisplayAvailable) { return; } var appView = ApplicationView.GetForCurrentView(); ApplicationView newView = null; // クリックしたタイルの画像 Uri var imageUri = ((e.ClickedItem as ItemContainerViewModel).Content as PhotoViewModel).ImageUri; // 新しいアプリケーション画面を作る var view = CoreApplication.CreateNewView(); await view.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, async () => { var newWindow = Window.Current; newView = ApplicationView.GetForCurrentView(); var grid = new Grid(); var image = new Image(); grid.Children.Add(new Image() { Source = new BitmapImage(new Uri(imageUri)), }); // 新しいアプリケーション画面のウィンドウに画像を埋め込み newWindow.Content = grid; // 同一アプリのアプリケーション画面として別画面に投影開始 await ProjectionManager.StartProjectingAsync(newView.Id, appView.Id); }); await Task.Delay(500); // 表示画面を交換する await ProjectionManager.SwapDisplaysForViewsAsync(newView.Id, appView.Id);
すると表示ウィンドウが切り替わりました
プレビューの位置関係は変わらずです
通常の Navigate だとうまく動かないので 2 画面目の画面遷移はどうやってやるのがいいのか悩ましいですね