Я создаю приложение UWP, которое порождает второй вид помимо основного.
Я хочу закрыть второй вид из основного вида.Я уже пытаюсь найти его в Google, но в большинстве из них я только показываю, как порождать, но не закрывать.
Ниже приведен блок кода, который я использую для открытия нового представления, а в его нижней части показано, как я пытаюсьзакрыть вновь созданное представление, которое всегда заканчивается неудачей.
public async void OpenNew(Type type, string title, string uniqueId)
{
CoreApplicationView newView = null;
if (!IsExists(uniqueId))
{
newView = CoreApplication.CreateNewView();
int newViewId = 0;
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
Frame frame = new Frame();
Window.Current.Content = frame;
Window.Current.Activate();
frame.Navigate(type);
newViewId = ApplicationView.GetForCurrentView().Id;
ApplicationView.GetForCurrentView().Title = title;
ApplicationView.GetForCurrentView().Consolidated += OnConsolidated;
});
await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId);
_uniqueIds.Add(uniqueId, newViewId);
}
// Below code testing on how I try to close newly spawned view but always throw error
await Task.Delay(5000).ContinueWith(async _ =>
{
await Window.Current.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
newView.CoreWindow.Close();
});
});
}
Этот код всегда выбрасывает
Exception thrown: 'System.NullReferenceException'
Любая ссылка или учебное пособие о том, как это сделать?