将 WPF 应用程序传输到移动 c# [关闭]

2023-11-28

我只是想知道将我的应用程序转移到移动友好版本的最简单方法,我可以将其放到 Android 手机上。任何帮助和指示将不胜感激。


Xamarin - 这是最好的方法。将代码保留在 C# 中,并可重复使用大量代码。

假设您使用 MVVM 设计模式开发 WPF 应用程序,那么将其移植到 Android 可能并不那么困难。您只需要确保所有非 UI 代码都是可移植的(因为它使用可移植类库可用的 .Net 框架的子集)并移动特定于 Android 库的任何设备。如果您一直在使用依赖注入/IoC,那么这应该相对简单。

Xamarin 的另一个选项是 Xamarin.Forms。与 WPF 一样,您可以在 Xaml 中定义 UI,并且可以从 DevExpress 等大型控件供应商处获得控件。 Xamarin.Forms 的输出是一个跨平台应用程序,因此将在 Android、iOS 和 UWP 上运行,具体取决于您需要使用的平台特定功能 - 并且有大量插件可以帮助完成这一切。

一旦你在可移植类库中拥有了核心业务逻辑(MVVM 的 VM 和 M),那么你只需要在 Android 上编写 UI 层,从那里添加 iOS 或 UWP UI 层也不是太难。

另外,如果您使用 MVVM,您是如何实现的?如果您使用 PRISM、MVVMCross 或 MVVMLight,那么它们支持 Xamarin 应用程序。

Xamarin 博客上有一篇很好的博客文章展示了如何执行类似的操作:https://devblogs.microsoft.com/xamarin/porting-existing-net-apps-to-android/

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

将 WPF 应用程序传输到移动 c# [关闭] 的相关文章

  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • Android - 如何更改 TimePicker 中的文本颜色?

    我正在使用 TimePicker 到 LinearLayout 中 背景颜色 黑色 但是 我看不到 TimePicker 中的数字 并且我需要在布局中将背景颜色设置为黑色 如何更改 TimePicker 中的 textColor 我已经尝试
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • 即使手动设置显示环境变量后,WSL Ubuntu 也会显示“错误:无法打开显示”

    我在 WSL Ubuntu 上使用 g 我使用 git 克隆了 GLFW 存储库 使用了ccmake命令配置并生成二进制文件 然后使用make在 build 目录中最终创建 a文件 我安装了所有OpenGL相关的库 usr ld 我不记得我
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • Android:解析 XML 数据的最佳解析器 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发一个应用程序 其中我第一次要解析来自远程服务器的 xml 文件中的数据 但我无法选择哪个解析器是有效的或最适合解析的 因为我知道主要有
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp

随机推荐

  • Android SMS 拦截,无需通知图标或 WAP-PUSH 消息

    有没有办法拦截短信广播接收器例如here但不会向用户显示任何通知并立即删除包含例如某些关键字的消息 EDIT 我需要的是在android手机之间进行一对一的通信 我认为发送短信可以解决问题 但是不需要短信通知 也许WAP推送消息会更好 但我
  • 同步语句上出现 NullPointerException

    我尝试在下面的代码中同步一个对象 public void myMethod synchronized globalObj Do something here 该代码在一个线程中执行 问题是 另一个线程可能将 globalObj 设置为 nu
  • cmake 不会编译为 C++ 11 标准

    我是 C 新手 一直在编译 制作 链接 构建 其他方面苦苦挣扎 让我们看看是否有人可以帮助我 我做了一些搜索 发现其他人也有类似的问题 但我尝试了他们的解决方案 但没有成功 所以这里是 一个简单的 C 程序 使用 C 11 功能 例如统一初
  • Nhibernate 在使用 QueryOver 时无法解决属性异常,适用于 QueryAll

    我有以下问题基本上我有以下两个片段 var contactAssociation session QueryOver
  • 具有 ManyToOne 关联的实体上的 getArrayResult

    具有以下基本表 一对多关系 客户端 拥有许多用户 用户 每个用户属于单个客户端 在一个非常简单的示例中 如果我查询用户实体 Querybuilder 和getArrayResult 我看到以下内容 实际生成的SQL中包含要修改的外键字段 返
  • 有没有办法用javascript与IP建立tcp连接?

    让我介绍一下我想要完成的任务的背景 我有一个具有本地 IP 地址的设备 芯片和引脚终端 它已被编程为接收某些数据并处理它 示例 我发送字符串 05 in hex 30 35 终端会读取该内容并将重新启动 我尝试过使用SockJS客户端以及内
  • 哪些 Ruby 类支持 .clone?

    Ruby 定义 clone in Object 令我惊讶的是 有些类在调用它时会引发异常 我发现NilClass 真实课堂 假类 Fixnum有这种行为 1 是否存在完整的类列表 至少是核心类 这不允许 clone 或者有没有办法检测特定类
  • 从 Linux 使用 Windows DLL

    我们需要与第三方应用程序接口 但该应用程序背后的公司没有公开消息协议 仅提供 Windows DLL 进行接口 我们的应用程序基于 Linux 因此我无法直接与 DLL 通信 我找不到任何现有的解决方案 所以我正在考虑在 Linux 和 W
  • 有什么方法可以知道 Espresso 活动是否已开始?

    我正在使用 Espresso 进行活动转换测试 但我不知道这是否是最好的方法 public void testStartLogin onView withId R id register perform click onView withI
  • 如何将 Java 异常信息返回到 jQuery.ajax REST 调用?

    我有一些 jQuery 代码 可以对 Java 后端进行 REST 调用 后端函数的处理可能会遇到异常 将此信息返回到 Javascript 的最佳方法是什么 在测试中 我捕获了 Java 中的异常并将 HTTP 状态代码设置为 500 这
  • 无法转换为内部表示

    我正在使用 Broadleaf Commerce 应用程序Oracle Database and Tomcat 6 server 我按照以下步骤操作here我已经做出了改变Persistence admin xml application
  • 如何使用 Java 计算 Selenium WebDriver 中选择下拉框中的选项数量?

    我有选择下拉列表 xpath id ddlTablePay 我需要计算这个下拉列表中的选项数量 谢谢 Use getOptions 方法并将它们存储在一个列表中 然后找到它的大小 Select se new Select driver fi
  • 测试期间未遵循设置的默认语言

    使用Django 1 3 Python 2 6 有一个特别奇怪的问题需要追踪 国际化 以及用于测试的 RequestFactory 与 TestClient 意见 如果我运行 manage py test 所有测试都会运行 包括有问题的测试
  • 无需应用程序商店即可分发 iPad 应用程序

    假设以下场景 A公司要求B公司为他们制作一个iPad App A 公司只想在数量非常有限的 iPad 少于 100 台 上为自己使用 A 公司不一定有兴趣在应用商店上提供它 B 公司如何将应用程序分发 出售 给 A 公司 它可以通过临时配置
  • Meteor 无法启动 - Fibers/futures.js 抛出错误“错误:SQLITE_CORRUPT:数据库磁盘映像格式错误”

    现在 在本地运行时 OSX 中 Meteor CLI 的每个操作都会引发此异常 Users mallorym meteor packages meteor tool 1 1 3 1d614zp os osx x86 64 web brows
  • 在 Ansible 中,如何使用键变量更改现有字典/哈希值

    正如标题所示 我想根据此问题的答案循环遍历现有字典并更改一些值question我想出了下面的代码 但它不起作用 因为第二次调试调用中的值没有变化 我想这是因为在另一个问题中他们正在从头开始创建一个新字典 但我也尝试过它没有外部大括号 我原以
  • 命名联合内的数组元素或结构体和数组

    考虑以下结构 struct Vector4D union double components 4 struct double x y z t Endpoint 在我看来 我在 WinApi 的 IPAddress 结构中看到了类似的东西 这
  • _setmaxstdio 最大打开文件数仅为 2048?

    http msdn microsoft com en us library 6e3b887c VS 80 aspx 有没有办法使用 wopen 每个应用程序一次打开超过 2048 个文件 32 或 64 位操作系统 相同的限制 不 通过查看
  • 使用Python中的内置函数查找3D距离

    我有 6 个列表 存储两组位置的 x y z 坐标 每组 3 个列表 我想计算两组中每个点之间的距离 我已经编写了自己的距离函数 但速度很慢 我的一个列表有大约 100 万个条目 我尝试过 cdist 但它产生一个距离矩阵 我不明白它的含义
  • 将 WPF 应用程序传输到移动 c# [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我只是想知道将我的应用程序转移到移动友好版本的最简单方法 我可以将其放到 Android 手机上 任何帮助和指示将不胜感激 Xamarin 这是最好的方法 将代码保留在 C 中