从WinJS应用程序中打开c# /XAML视图

本文关键字:XAML 视图 WinJS 应用程序 | 更新日期: 2023-09-27 18:07:15

我目前正在尝试从Windows 10 UAP WinJS项目中的c#类打开XAML视图。要做到这一点,我有一个c#类,我从javascript实例化,然后我调用它的方法来加载XAML视图。然而,当我调用CoreApplication.CreateNewView()时,它会触发一个异常,消息为"值不落在预期范围内"。

我想知道我是否做错了什么(我不习惯Windows 10应用程序),或者如果根本不可能在WinJS应用程序中打开XAML/c#视图。

下面是我用来调用c#代码的JS代码:
var csClass1 = new CsCode.Class1();
csClass1.loadXamlPage();
下面是抛出异常的c#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.ApplicationModel.Core;
using Windows.UI.Core;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace CsCode
{
    public sealed class Class1
    {
        public async void loadXamlPage()
        {
            //throw "Value does not fall within the expected range." exception
            Windows.ApplicationModel.Core.CoreApplicationView newView = CoreApplication.CreateNewView();
            int newViewId = 0;
            await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                var frame = new Frame();
                frame.Navigate(typeof(MainPage1), null);
                Window.Current.Content = frame;
                newViewId = ApplicationView.GetForCurrentView().Id;
            });
            bool viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId);
        }
    }
}

从WinJS应用程序中打开c# /XAML视图

你不能在WinJS应用程序中打开c#/XAML控件