【问题标题】:Getting started with Windows 10 Universal Apps [closed]Windows 10 通用应用程序入门 [关闭]
【发布时间】:2015-09-17 09:15:09
【问题描述】:

我想快速开始开发适用于 Windows 10 的通用应用程序。我认为这会相当容易,因为 1) 通用应用程序已经可用于 Windows 8.1 和 2) 微软不断告诉我们它们有多棒.因此,我得出结论,那里会有很多很好的例子。

我错了。
或者:我还没有找到它们。

我不是专家,我只是一个爱好开发者。我知道 VB.net,但后来也进入了 C#。我了解 Windows 窗体、WPF、asp.net 和 Windows Phone 应用程序的基础知识。

我找到了一些适用于 Windows 8 通用应用程序的教程和模板(有些甚至在 Microsoft Virtual Academy 上)。他们很容易理解,并解释了真正发生的事情以及为什么他们以特定的方式做某些事情。问题在于,在尝试将应用程序转换为 Windows 10 时,这些功能不一定能很好地工作。

我需要的是一个简单的示例:

  1. 汉堡菜单
  2. 带有简单导航的几个页面
  3. 保存设置的设置页面
  4. (可选)一种保存状态的方法

到目前为止,我发现的所有内容要么基于 Windows 8.1,无法轻松移植,要么基于 Visual Studio 2015 RC 或 2013,并且自 Windows 10 发布以来发生了一些变化。

以前学习新东西的时候会有点挣扎,但现在不管我走哪条路,都好像在每个角落都有一个新的巨大障碍。

有什么建议吗? :)

【问题讨论】:

    标签: c# vb.net windows universal


    【解决方案1】:

    您将需要 Visual Studio 2015 来构建和部署通用 Windows 平台应用程序,因为它们使用 NuGet 3.0 以及不同的包结构。谷歌“通用 Windows 开发者工具”。

    对于导航管理器,当我开始构建我的 UWP 应用程序时,回到技术预览版时,我从 Windows 8.1 应用程序模板中复制了导航助手、中继命令和暂停管理器,然后删除了 #IF Windows_Phone 和 @987654324 @(我相信就是这些)。编译语句(以及它们包含的代码仅适用于#IF Windows Phone),虽然您可以保留它,但其中包含一些我不想要的 Windows Phone BackRequested 功能。如果您查看 Navigation Helper 类,它确实提供了您在页面中构建的保存和加载状态功能。

    您可以改为查看 Jerry Nixon 的模板 10:Here,我没有亲自使用它,因为我已经花费了超过 190 多个小时来构建我的应用程序,切换 Base 将是很多工作(我已经重写了很多学习绑定,然后是 x:Bind 在开发过程中,我才真正发现如何制作事件和事件处理程序,并在前几天在整个应用程序中全局操作它们)。与 Visual Studio 默认提供的相比,Template10 比 Visual Studio 默认提供的更干净,而且可能更好的基础模板用于制作应用程序。

    一个SplitView APP的示例可以看到here,它是Jerry Nixon的另一个示例,它使用MVVM,这可能是一个很好的习惯/学习结构。

    至于保存设置,使用ApplicationData.Current.RoamingSettings.Values[_Your Key Here_] = _Object_; 它将其序列化并将其作为安全 Dat 文件中的字符串存储在您的 AppData 中。

    要取回您的对象/值,您需要做的就是(T)ApplicationData.Current.RoamingSettings.Values[_Your Key Here_]; T 是您要从设置中检索的对象类型的泛型。您可以从 MSDN、Google 了解更多信息:“Guidelines for app data MSDN”,它应该为您提供有用的指南(不幸的是,我的帖子中只有两个链接)。

    希望有帮助

    【讨论】:

    • 谢谢!是的,这确实有帮助!我不会/不能升级我当前的 Windows Phone 应用程序,因为它们适用于 WP 7.5。我必须重新开始,所以 Template10 看起来很有前途。 :)
    • 如果您觉得我的回答对您有帮助,您能否给我点赞,以便我获得更多声誉?
    • 我有,但我的声誉太低,无法显示。 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多