gpt4 book ai didi

c# - 在不使用 XAML 的情况下创建 Windows 应用商店应用程序页面

转载 作者:太空狗 更新时间:2023-10-29 20:42:29 30 4
gpt4 key购买 nike

我正在编写一个 C#/XAML Windows 应用商店应用程序,并希望完全从 C# 创建、导航到和显示一个页面。这可能吗?显然我可以从 Page 继承,但是,当尝试导航到没有 XAML 的派生页面时,我得到一个 System.TypeLoadException...“找不到 Windows 运行时类型‘Windows.Foundation’”。

我的想法是这应该是可能的,因为 XAML 转换为 CLR 部分类定义,所以没有理由不能在 C# 中完成所有事情。但显然我缺少某种框架要求。

建议?

现在我所有的派生页面是

using Windows.UI.Xaml.Controls;

namespace App1 {
public class Page2 : Page {
public Page2 () { }
}
}

这里是完整的异常(exception):

Could not find Windows Runtime type 'Windows.Foundation'.
at System.StubHelpers.WinRTTypeNameConverter.GetTypeFromWinRTTypeName(String typeName, Boolean& isPrimitive)
at System.StubHelpers.SystemTypeMarshaler.ConvertToManaged(TypeNameNative* pNativeType, Type& managedType)
at Windows.UI.Xaml.Controls.Frame.Navigate(Type sourcePageType)
at App1.MainPage.<P2>d__2.MoveNext()

最佳答案

我可以举一个简单页面的例子

using System;
using Windows.ApplicationModel.Activation;
using Windows.UI;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
namespace MyApp
{
class Program
{
public static void Main (string[] args)
{
Application.Start((p) => new MyApp());
}
}
class MyApp : Windows.UI.Xaml.Application
{
public MyApp(){}
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
var layoutRoot = new Grid() { Background = new SolidColorBrush(Colors.Blue) };
layoutRoot.Children.Add(new Button() { Content = "Hello!" });
Window.Current.Content = layoutRoot;
Window.Current.Activate();
}
}
}

编译时用正确的项目替换这些路径:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /target:appcontainerexe /r:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Runtime.WindowsRuntime.dll" /r:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Runtime.dll" /r:"C:\Windows\System32\WinMetadata\windows.applicationmodel.winmd" /r:"C:\Windows\System32\WinMetadata\windows.ui.winmd" /r:"C:\Windows\System32\WinMetadata\windows.ui.xaml.winmd" /r:"C:\Windows\System32\WinMetadata\windows.media.winmd" MyApp.cs

关于c# - 在不使用 XAML 的情况下创建 Windows 应用商店应用程序页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662723/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com