有没有办法编写一个也可以在 Windows 7 和 Vista 上运行的 WinRt (Metro) 应用程序?

2024-03-23

我们不能让那些长期无法升级到 Windows 8 的客户束手无策。然而有是需求我们的应用程序的“平板电脑”/“触摸屏”版本。

那么,我们如何才能通过单一代码库同时支持 Windows 8 上的 Metro 触摸和我们当前的客户呢?

当 WPF 出现时,经过多次“推动”,微软看到并使其在 Windows XP 上运行 - 是否有人谈论过 WinRT 的类似情况。

(我不希望有任何解决方案适用于 XP,因为 XP 支持正在逐渐减少。)

也可以看看:ARM 版本的 Windows 8 只能运行 Metro (WinRt) 风格的应用程序吗? https://stackoverflow.com/questions/7541919/can-the-arm-version-of-windows-8-only-run-metro-winrt-style-apps


最好的答案是您不希望相同的应用程序在 Windows 7 和 Windows 8 Metro 风格上运行。最适合鼠标和键盘 (Windows 7) 的 UI 不适用于触摸优先演示,反之亦然。重新想象两个不同世界的用户界面非常重要。

也就是说,如果您想共享大量代码,您有两个选择: 1)主要用 JavaScript/HTML5 编写。这将使您可以重用许多资产(尤其是业务逻辑部分)。 2) 在(桌面)Silverlight 中编写它。 Silverlight XAML 最接近 Windows XAML。 WPF 还比较远,以后需要更多的返工。

无论哪种情况,您都应该查看并遵循编写跨平台代码时使用的原则。了解平台依赖性并将它们隔离在间接边界后面。您想要本地化所有需要更改的代码。例如,您不希望对 .Net System.IO.File API 的调用必须更改为分散在代码中的 Windows.System.Storage 调用。相反,您希望将其本地化在一个可以稍后修改的函数中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法编写一个也可以在 Windows 7 和 Vista 上运行的 WinRt (Metro) 应用程序? 的相关文章

  • ASP.NET MVC4 和 Web API 身份验证 + 授权(Windows 8 和 Web)

    我使用 Simple Membership db 创建了一个 ASP NET MVC 4 Internet Web 应用程序来存储用户 角色和配置文件 在我的应用程序中 我创建了一个 Web API 控制器 它将响应http 127 0 0
  • Windows 8 的 mvvmlight 中缺少 EventToCommand 行为 - 解决方法?

    问题确实说明了一切 我正在使用 MVVM Light 用 XAML C 编写一个 Windows 8 应用程序 我注意到 EventToCommand 功能尚未实现 有人可以建议对此有任何解决方法吗 thanks 您现在可以使用 Event
  • 绑定到父 ListViewItem 的 IsSelected 属性

    我正在尝试绑定一个的 Visibility 属性TextBlockListView 的 ItemTemplate 中保存的 TextBlock 父 ListViewItem 的 IsSelected 属性 使用此标记 TextBlock 始
  • Windows 7 和 Windows 8(桌面/Metro)中的 Internet Explorer 10 有何不同?

    Windows 7 和 Windows 8 上的 IE10 桌面模式和 或 Metro 模式 有什么区别 像 渲染差异 包括硬件加速 DX 过滤器和媒体查询 JS 差异 例如触摸事件 窗口大小调整 插件差异 它们对 Flash 的沙箱处理方
  • 如何卸载其他用户安装的应用程序?

    当我尝试调试 Windows 8 应用程序并且另一个用户帐户上已安装了一个副本时 我不断遇到此问题 DEP0700 应用程序注册失败 另一个用户已经安装了此应用程序的打包版本 未打包的版本无法替代它 冲突的包是 PackageName 由
  • 是否可以在 Windows 应用商店应用程序中的用户之间共享数据?

    我很确定我知道这个问题的答案 非常大的否 但是是否可以在相同的应用程序但是 Windows 运行时环境中有多个用户 Windows 登录 而不是 Microsoft Store 用户 本地数据文件夹是相对于每个登录用户而言的 所以乍一看这似
  • Windows Phone 8.1 中的 RadialGradientBrush?

    请告诉我如何在 Windows Phone 8 1 应用程序中创建 RadialGradientBrush 我试图在这里找到它 但没有这样的刷子 Windows UI Xaml Media 有任何想法吗 谢谢你 如果您不介意从 NuGet
  • 如何检测Windows 8.1开始菜单?

    当我们在 Windows 8 1 上按下开始菜单时 它会以磁贴的形式显示所有新的开始菜单以及应用程序 该菜单显示在整个屏幕上 有没有办法检测这个菜单是否在 C 中打开 8 1 SDK 中是否有 winAPI 可以执行此操作 提前致谢 调用
  • 为什么json序列化器不符合多态性?

    我在 NET 4 5 Windows 应用商店应用程序中使用库存 JSON 序列化器 System Runtime Serialization Json DataContractJsonSerializer 我有一个由 API 提供商提供的
  • 使用 Metro 风格应用程序启动桌面应用程序

    有没有办法从 Windows 8 上的 Metro 风格应用程序启动桌面应用程序 我正在尝试创建一些简单的桌面应用程序快捷方式 以替换开始屏幕上看起来不合适的桌面图标 我只需要一些超级简单的东西 最好是用 C 编写 以便在应用程序加载后立即
  • 是否有相当于 Windows 8 / winrt / Metro 风格的 wp7 的marketreviewtask?

    我浏览了 MSDN 上的 Store API 和 Launchers 集合 似乎找不到可以在 Marketplace 应用程序中打开应用程序以供用户评分的任务或启动器 正如我们在 Windows Phone 7 中可以轻松做到的那样 htt
  • 如何从框架的历史记录中删除页面?

    如何在 WinRT XAML 应用程序中操作框架的历史记录 用户将从我的中心页面开始 他们可以在其中选择现有项目以转到其编辑屏幕 也可以选择 新项目 新建项目 将引导他们通过一个简短的向导 然后将他们带到 编辑项目 屏幕 向导页面只是我在框
  • 创建另一个进程的 HWND 的子窗口? (例如屏幕保护程序预览)

    我正在用 Java 编写一个屏幕保护程序 它主要适用于 Windows 但我更希望它尽可能便携且实用 根据http support microsoft com kb 182383 http support microsoft com kb
  • 您应该在 Windows 8 应用程序的哪个位置编写“隐私策略”代码?

    我的应用程序未通过认证 原因是 4 1 1 如果您的应用程序具有网络功能 则必须有隐私声明 您必须在应用程序的说明页面以及 Windows 设置超级按钮中显示的应用程序设置中提供对隐私政策的访问权限 他们在说什么 什么描述 如何设置 Win
  • ClickOnce 应用程序和 Windows 8 认证

    是否有可能有一个单击一次 http en wikipedia org wiki ClickOnce WPF http en wikipedia org wiki Windows Presentation Foundation应用程序经过认证
  • 新的 Windows 应用程序 - 什么语言?

    我们目前正处于开发 Windows 桌面应用程序的前期阶段 但当听到有关 Windows 8 Silverlight WPF Jupiter 的所有最新讨论时 我不知道该相信什么了 现在用WPF启动一个新项目是不是有问题 我应该切换到 Si
  • 修饰符 async 对此项目无效

    这似乎并不是数百个具有相同错误的其他问题的重复 我把它们都看过了 发现它们是无关的 我正在制作一个小笔记应用程序 并尝试从目录中读取文件 按照 MSDN 示例 我有以下代码 但它给了我一个错误 错误 1 修饰符 async 对此无效 项目
  • 批量设置命令的输出和错误以分隔变量

    在Windows 7批处理 cmd exe命令行 中 我试图将命令的标准输出 stdout 和标准错误 stderr 重定向到单独的变量 因此第一个变量设置为输出 第二个变量设置为输出 变量设置为错误 如果有 而不使用任何临时文件 我已经尝
  • Delphi应用程序窗口z顺序和MainFormOnTaskBar属性

    我正在维护一个最初用 Delphi 7 编写并移植到 Delphi XE 的应用程序 使用 Windows 7 我们遇到了一些问题 例如模态窗口出现在主窗口下方 以及最终无法与程序交互 因为用户需要与模态窗体交互 而这是不可能的 因为它位于
  • Windows 8 Windows 应用商店应用程序中的中继命令

    由于 CommandManager 在 win8 Metro 应用程序中不可用 是否有 RelayCommand 的版本 有一个版本here https xp dev com svn mytoolkit Shared MVVM RelayC

随机推荐