将 WPF 应用程序重写到 Surface

2023-12-19

我正在开发一个 WPF 应用程序,我很好奇如果有一天我们想通过多点触控来控制它,需要什么才能将该应用程序重写为 Surface 应用程序。

我们是否可以重用 WPF 应用程序的大部分内容并将其顺利转移到 Surface,或者 Surface 完全不同,我们可能必须为 Surface 编写一个全新的 GUI?或者我实际上可以在 Surface 上使用 WPF 应用程序吗?正如您可能知道的那样,我对 Surface 一点也不了解 - 所以也请告诉我任何明显的事情!

我们尽我们所能对应用程序进行建模,使视图和业务逻辑之间有良好的分离 - 使用 MVVM 模式等。但是我们是否需要为 Surface 构建一个全新的 GUI?


如果您的目标只是向普通桌面应用程序添加多点触控,那么您确实应该考虑 Windows 7 中的 .NET 4.0。这样做时,您可以从现有应用程序开始,然后添加您认为有用的任何多点触控功能。

如果您确实转到 Surface,如果进行直接移植,您在代码中看到的主要更改是将所有内置输入控件更改为 Surface 版本(即,将 Button 更改为 s:SurfaceButton)。需要这样做是为了支持 Surface 的接触输入,它不会激活像 Button.Click 这样的标准控件。

Surface 应用程序还有一些更重要的问题,仅在桌面上使用模拟器无法真正感受到这些问题。首先是多用户体验,不仅包括其支持的大量同时触摸,还包括 UI 的多方向定位。由于 Surface 是水平屏幕,用户可以从任何一侧访问应用程序,并且应用程序本身也可以垂直翻转,具体取决于用户启动应用程序的方向。这可能需要大量思考如何重新设计桌面应用程序的功能。 Surface 还具有 1024x768 的固定分辨率,这也可能导致从专为大屏幕制作的动态大小的桌面应用程序进行尴尬的过渡。

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

将 WPF 应用程序重写到 Surface 的相关文章

随机推荐

  • 如何计算分位数中的观测值数量?

    考虑一下我有一百万个遵循参数为 3 5 的伽马分布的观测值 我可以使用找到分位数summary 但我想找出被分成 10 块的每条红线之间有多少个观察值 a rgamma 1e6 shape 3 rate 5 summary a Min 1s
  • java小程序中的淡入淡出效果

    我正在用节点和边制作这个java小程序图形 我想实现点击一个节点时检索新节点的淡入和淡出效果 但我不知道如何编写和实现代码 为了澄清 例如动物节点检索老虎和狮子节点 因此 当单击动物时 节点和附着在其上的边缘逐渐消失 老虎和狮子节点逐渐出现
  • 如何将日期范围选择器与ajax一起使用

    我正在使用日期范围选择器 javascript 库来选择用户的日期范围 date range daterangepicker arrows true dateFormat d M yy rangeSplitter to datepicker
  • Phonegap Windows Phone 7 使用 jQuery 动态 HTML 加载和跨域调用

    好吧 我搜索了很多 发现很多 Android 开发者都使用 Phonegap 有几个问题 如何使用 jQuery 将本地 HTML 文件加载到 Phonegap 中的 div 中 就像是 contentDiv load url functi
  • Openlayers v4.0.1 支持 Google 地图 Javascript API 吗?

    我想知道 Openlayers 的最新版本 v4 0 1 是否支持 Google 地图作为图块图层 我找不到任何关于此的文档 如果 Openlayers 不支持 Google 地图 有人可以告诉我是否有任何方法可以做到这一点 OpenLay
  • 如何在 F# 或任何函数式语言中柯里化第二个(或第三个、第四个……)参数?

    我刚刚开始使用 F 看看如何使用柯里化将第一个参数预加载到函数中 但是如何使用第二个 第三个或任何其他参数来做到这一点呢 命名参数会让这变得更容易吗 是否有任何其他函数式语言具有命名参数或其他方式使柯里化与参数顺序无关 通常你只使用 lam
  • jQuery ajax() URL 是必需的吗?

    the ajax函数的 http api jquery com jQuery ajax jQuery ajax url settings标题是 jQuery ajax url settings 文档说 URL 是必需的 为什么在示例中只提供
  • 如何清除图表 tkinter

    有了这段代码 我想制作动态图 我想让我的图每 60 秒清晰一次 但我不能让它与 cla 和 clf 一起工作 有什么问题吗 除了使用 cla 和 clf 之外 还有其他方法可以清除图形吗 import lib client paho mqt
  • 数组和对象中的尾随逗号是规范的一部分吗?

    尾随逗号是 JavaScript 中的标准吗 还是大多数浏览器 例如 Chrome 和 Firefox 都容忍它们 我以为它们是标准的 但 IE8 遇到一个就吐了 当然 IE 不支持某些东西并不意味着它不标准 这是我的意思的一个例子 在 b
  • 即使 png 文件位于资源文件夹中,NSImage 也会返回 nil

    我正在尝试使用 NSImage imageNamed 方法加载图像 但没有成功 我已将图像复制到项目文件夹 项目 gt 资源中 并使用以下命令添加到项目中 将文件添加到项目 NSImage image NSImage imageNamed
  • jquery定时改变item类

    是否可以根据某种类型的计时器更改项目类别或 ID 每隔 1500 毫秒 它会转到嘿 那里 1 然后 1500 毫秒后 嘿 那里 2 等等 我可以控制它经历多少个间隔 嘿 嘿 那里 1 嘿 那里 2 嘿 那里 3 回到开头 嘿那里 etc T
  • 用弹簧配置流口水。 xsd 错误

    我正在尝试使用 Drools 创建 spring roo 应用程序 但我在 applicationContext xml 中遇到了错误 Error 在这一行找到多个注释 无法找到模式命名空间 http drools org schema 的
  • 相机意图仅在某些设备上返回 null

    我正在使用相机捕获图像并将返回的位图设置为图像视图 但它在 OnePlus 设备上崩溃 我检查了一些 htc 设备 它运行良好 我检查了解决方案 他们说要检查请求代码 但我已经在这样做了 这里可能有什么问题 这是代码 imageView s
  • `modularity()` 的正确使用和解释

    In the igraph modularity部分有示例代码 如下所示 g lt graph full 5 du graph full 5 du graph full 5 g lt add edges g c 1 6 1 11 6 11
  • 使用 Splinter 发送密钥

    我想使用 Splinter 测试自动完成框 我需要将 向下 和 输入 键发送到浏览器 但我在执行此操作时遇到了困难 我目前正在找到一个输入框并成功在该框中输入 tes context browser find by xpath some x
  • 链接自注册的抽象工厂

    我一直在使用和测试一个基于此处描述的自注册抽象工厂 https stackoverflow com a 582456 https stackoverflow com a 582456 在我所有的测试用例中 它就像一个魅力 并提供了我想要的功
  • 如何在我自己的高阶组件 (HOC) 中使用 React Router 的 withRouter HOC?

    我有一个更高阶的组件 它使用location searchReact Router 提供的 prop 用来构造一个queryParams对象并将其作为 prop 传递给其包装的组件 function withQueryParams Wrap
  • 为什么这个简短的 php 脚本不发送电子邮件?

    我似乎无法让我的 php 脚本发送电子邮件 首先 我在php ini文件中设置了邮件功能设置 如下所示 我在 Outlook 上检查了我的电子邮件帐户设置 它不需要身份验证 端口为 25 加密连接类型为 自动 鉴于此 我相应地配置了我的 p
  • Xcode A+ 源代码控制符号

    我刚刚注意到 XCode 显示与源代码管理相关的 A 符号 这是什么意思 A 代表移动文件 重命名被视为移动 所有功劳都归功于用户2129800 他的答案在问题下的评论中
  • 将 WPF 应用程序重写到 Surface

    我正在开发一个 WPF 应用程序 我很好奇如果有一天我们想通过多点触控来控制它 需要什么才能将该应用程序重写为 Surface 应用程序 我们是否可以重用 WPF 应用程序的大部分内容并将其顺利转移到 Surface 或者 Surface