如何允许用户从 Xamarin.Forms 标签复制和粘贴

2024-01-15

如何允许用户从 Xamarin.Forms 标签复制和粘贴?

在任何平台上单击文本,默认设置不允许突出显示,因此不允许复制和粘贴。

任何帮助,将不胜感激。


您可以做的是将标签包装在手势识别器中:

<Label Text="Test">
    <Label.GestureRecognizers>
        <TapGestureRecognizer
            Tapped="YourFunctionToHandleMadTaps" 
            NumberOfTapsRequired="1" 
        />
   </Label.GestureRecognizers>
</Label>

这将触发您的函数,在该函数中您可以访问剪贴板并复制和粘贴。但是,我无法找到一种简单的方法来访问 Xamarin.Forms 中的剪贴板,因此您必须使用依赖项服务。

Xamarin.Forms 依赖项服务文档 http://developer.xamarin.com/guides/cross-platform/xamarin-forms/dependency-service/

这是我访问剪贴板数据的方法。请注意,在我的项目中,我只需要从剪贴板获取数据,因此此代码仅向您展示如何访问剪贴板数据:

  1. 在您的 X.F 项目中创建一个接口,例如:

        public interface IClipBoard
        {
            String GetTextFromClipBoard();
        }
    
  2. 在您的移动项目中实现该界面:

    Android:
        public string GetTextFromClipBoard ()
        {
            var clipboardmanager = (ClipboardManager)Forms.Context.GetSystemService (Context.ClipboardService);
            var item = clipboardmanager.PrimaryClip.GetItemAt(0);
            var text = item.Text;
            return text;
        }
    
    iOs:
        public string GetTextFromClipBoard ()
        {
            var pb = UIPasteboard.General.GetValue ("public.utf8-plain-text");
            return pb.ToString ();
        }
    

不要忘记在顶部添加汇编位:

    iOs: [assembly: Dependency (typeof (ClipBoard_iOs))]
    Android: [assembly: Dependency (typeof (ClipBoard_Droid))]
  1. 从 X.F 函数调用依赖服务

        public void YourFunctionToHandleMadTaps(Object sender, EventArgs ea)
        {
            var clipboardText = DependencyService.Get<IClipBoard> ().GetTextFromClipBoard ();
    
            YourFunctionToHandleMadTaps.Text = clipboardText;
        }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何允许用户从 Xamarin.Forms 标签复制和粘贴 的相关文章

  • 如何在 Xamarin.Forms 上使用 System.Data.SQLite Interop.dll?

    每次尝试运行移动应用程序时 我都会遇到以下问题 System DllNotFoundException SQLite Interop dll assembly
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 网格 xamarin 形式中的重叠框架

    我正在使用最新的 xamarin 表单 我有一个要求 我需要在网格中的两行之间放置一个框架 我无法使其与绝对布局或弹性布局一起使用 下面是我对网格的简化尝试
  • Xamarin Forms 地图 - 如何刷新/更新地图 - CustomMap 渲染器

    如果您正在寻找完整的折线 图钉 图块 UIOptions 以及很快的 3D 效果 渲染 实现 您应该在我在 GitHub 上创建的公共 github 上进行搜索XamarinByEmixam23 地图 https github com Em
  • Draggable Boxview 不更新 Xamarin

    我的第一个问题是框视图生成在左上角 而不是我指定的设计网格第 10 行和网格第 3 列 第二个问题在于可拖动视图 在代码本地可拖动视图的第一部分中 它正确地调用了触摸事件 但也许它没有在GUI中更新
  • 设置UITextField的光标位置

    我查看了单点触控示例并尝试过 var range new NSRange selectionStart 1 NumberTextField SelectedTextRange IndexedRange GetRange range 但这会在
  • 当我添加点击手势时,捏合和平移在 Xamarin 表单中不起作用

    我想创建一个功能来点击并在另一个背景图像上添加图钉图像 并且背景图像应该能够缩放和平移 这是为此的 XAML 代码 这里捏缩放不起作用 但点击事件工作正常
  • 如何将 netstandard 2.1 与 xamarin Android 一起使用?

    我正在运行 Visual Studio 2019 预览版 并且安装了 Android 预览版 sdk 9 0 99 但是当我尝试构建一个 xamarin 表单项目并将库设置为 netstandard 2 1 时 我仍然遇到了与 monodr
  • Device.BeginInvokeOnMainThread 的用途是什么?

    我希望有人向我解释什么是 Device BeginInvokeOnMainThread 以及它的用途是什么 还有一些使用案例的示例 只是添加一个例子 假设你有一个异步方法DoAnyWorkAsync如果你这样称呼它 仅作为示例 DoAnyW
  • AbsoluteLayout - 测量标签高度而不将标签放置在 UI 上

    我在 AbsoluteLayout 中手动定位标签 为了正确地做到这一点 我想在将标签放置在用户界面上之前知道标签的高度 我找到了这个解决方案 但并非没有实际放置标签 public double MeasureLabelHeight str
  • 使用仪器分配时 iOS 应用程序冻结

    当我想使用 Instruments Allocation 来分析应用程序的内存使用情况时 它在启动后立即冻结 它总是停留在启动屏幕 这是一个 Xamarin forms 应用程序 这是屏幕截图 其他信息 如果我创建一个新项目 然后使用 In
  • NameResolutionFailure 与 ConnectFailure 问题

    这是一个相当奇怪的问题 但仍然是一个非常糟糕的问题 当用户在没有互联网的情况下进入我们的应用程序时 我们会返回一个NameResolutionFailure作为尝试通过以下方式进行 API 调用的错误消息HttpClient 好吧 没关系
  • 在 Xamarin 中读取 iOS 的相机权限

    我有一个用 Xamarin 开发的 iOS 应用程序 当应用程序没有访问麦克风的权限时 如果用户尝试从应用程序访问麦克风 我会使用以下命令检查设置AVAudioSession SharedInstance RequestRecordPerm
  • iOS 更新到 15 后列表视图顶部出现奇怪的空间

    我在用着 Xamarin Froms 5 0 0 24125 Xcode 版本 13 0 13A233 Visual Studio for Mac 社区版本 8 10 9 内部版本 3 NuGet版本 5 9 0 7134 Xamarin
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 如何在android上使用xamarin表单执行脚本

    我正在尝试在 Android Mono 上使用 Xamarin Forms 运行 C 脚本 当我运行脚本时 我收到错误 System IO FileNotFoundException 找不到文件 mscorlib dll 这是我试图执行的代
  • 将字节数组保存为 Android 设备文件夹中的 jpg 文件

    我正在尝试将图像保存在 Android 设备的文件夹中 我使用的代码如下 var newFolder AndroidEnvironment GetExternalStoragePublicDirectory AndroidEnvironme
  • 没有 Xamarin.Forms 的 Xamarin BeginInvokeOnMainThread

    抱歉 我确信这将是一个非常愚蠢的问题 我在 Xamarin 应用程序中使用 Android UI 而不是 Xamarin Forms 作为表示层 但我想使用 Activity RunOnUIThread 来自 Android 所有 Xama
  • 以 xamarin 形式获取设备的经纬度位置

    我的应用程序中有一个扫描仪 当我扫描任何二维码时 我需要获取设备的当前位置 经纬度 我不知道如何获取位置 所以我现在没有任何代码 建议我一些在扫描完成二维码时获取位置的方法 地理定位器插件示例 var locator CrossGeoloc
  • sqlite.net + monotouch = SIGSEGV 崩溃

    我们正在使用以下内容 Xamarin 3 Xamarin 表单 单点触控 sqlite net iOS模拟器 硬件 该应用程序在后台线程上与服务器同步数据 整个应用程序只共享一个 SQLite 连接对象 前台查询在后台同步运行的同时执行 所

随机推荐

  • UIGestureRecognizer 接收触摸但也将其转发给 UIControl

    你会如何允许UIGestureRecognizer of a UIView接收触摸事件 但也确保另一个 底层 上层UIView也收到同样的触摸事件 Lets say I have got the following view hierach
  • 三角形带上的纹理坐标

    我创建了一个带有 14 个顶点的几何着色器的立方体 感谢三角形条 现在的问题是如何放置我的纹理坐标 我有一个包含 3 个纹理的图像文件 立方体的顶面 底面 左 右 前 后面 我找不到为每个顶点提供纹理坐标的方法 14 我总是得到奇怪的纹理显
  • Python 3.5.1:QVariant 表示映射类型,无法实例化

    我正在使用 Python 3 5 1 我正在尝试运行此代码 但 QVariant 有问题 from PyQt4 QtCore import from PyQt4 QtGui import import sys class Model QAb
  • Python 多处理:比请求的进程更多

    为什么我看到这么多 python 进程在运行 在htop on RHEL 6 当我只使用 1 个核心时 对于相同的脚本 对于每个任务 我都会初始化一个管理处理的工作类 它会初始化其他类 但不会初始化任何子进程 tasks multiproc
  • Android SDK 的快速位图模糊

    目前 在我正在开发的 Android 应用程序中 我正在循环遍历图像的像素以使其模糊 对于 640x480 图像 这大约需要 30 秒 在浏览 Android Market 中的应用程序时 我遇到了一个包含模糊功能的应用程序 并且它们的模糊
  • 尝试启动 Firefox 时出现 Python Selenium 错误

    我在 ipython 笔记本中尝试使用 Selenium 打开 Firefox 时遇到错误 我环顾四周 发现了类似的错误 但没有任何错误与我收到的错误完全匹配 有人知道问题可能是什么以及我如何解决它吗 我使用的是 Firefox 22 我输
  • 在 Rakefile 中设置 rspec 2 任务

    我有一个看起来像这样的 Rakefile require rspec core rake task desc Run all RSpec tests RSpec Core RakeTask new spec 但这不起作用 例如 如果我尝试运
  • React 表单组件 onSubmit 处理程序不工作

    我有以下 React 组件 class Form extends React Component handleSubmit e e preventDefault let loginInput ReactDOM findDOMNode thi
  • Spring 事务因 iptables 命令而挂起

    作为进程错误处理的一部分 我们尝试使用以下 iptables 命令禁用进程与数据库计算机侦听器端口之间的通信 iptables A INPUT p tcp destination port
  • Cloud Foundry如何处理进程隔离?

    假设我使用 上提供的开源 Cloud Foundry 实现设置了自己的云cloudfoundry org http www cloudfoundry org 我部署的每个应用程序都会作为单独的用户运行吗 或者这里使用了VMWare的虚拟化技
  • MVC 中的 Bootstrap 模式,双背景 - 背景出现两次

    我在使用 jQuery 生成引导模式时注意到一个问题 在动态生成的部分视图 我的模式 中添加更多 JavaScript 会导致出现双背景 有谁知道为什么会发生这种情况 我正在使用 jquery 1 8 2 js 和 Bootstrap v3
  • 通过HTA触发宏的VBS(无法运行宏)

    我有一个 HTA 脚本 它最终触发代码的 vbs 部分来调用 VBA 宏 但由于某种原因我收到此错误 我已经确保启用了对 VBA 的信任访问 因此我觉得我的代码中的某些内容与 HTA 不兼容 这是代码 提前感谢您的宝贵时间
  • 根据特定条件连接 RxJ 中的两个可观察流

    我有两个对象流 帐户和余额 我需要根据以下内容合并 加入 两个流id and account id var accounts Rx Observable from id 1 name account 1 id 2 name account
  • VBA-获取鼠标移动事件中的标签名称

    我有以下问题 我的工作表中有很多以结构化方式命名的标签 Label1 Label2 Label9 并为所有标签分配了鼠标移动事件宏 我想获取表A1 A9中的第i个值 其中 i 是当前 触摸 的标签号 有没有一种简单的方法可以在 mouse
  • GIT:无法从存储库中删除文件

    目前 我们被迫将存储库从 Gitlab 迁移到 Github 当我们想使用 git push u origin master 将我们的存储库推送到 Github 时 不幸的是 这会导致以下错误 复制输出 1 remote error GH0
  • 开源非分发许可证[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 通常我是 A GPL 的忠实粉丝 并发布由其许可的软件 然而 这一次我认为我不能允许重新分发我的软件 因此 我正在寻找一个许可证 上面写着 1 使我的
  • Tkinter Menubutton 小部件键绑定以在同一窗口中打开菜单小部件元素

    我在菜单中创建了一个子菜单Menubutton and Menu小部件 from tkinter import root Tk def f event submenu invoke 0 mainmenu Menubutton root te
  • Microsoft Azure 帐户上的 Microsoft Visual Studio 凭据错误

    我试图将我的 Web 应用程序部署到 Microsoft Azure 当我输入 Microsoft 帐户的凭据时 出现此错误 并且我无法寻求解决方案 但是 我尝试通过 Microsoft Visual Studio 本身登录并收到相同的错误
  • 如果javascript只在特定页面上使用,为什么不应该将其放在视图中?

    In writes 不引人注目的 JS 需要考虑的其他事情 您已经这样做了 是您确实需要在应用程序中使用不显眼的 javascript 不显眼的 JS 基本上意味着您能够将页面的 绑定 抽象到资产管道中的 Javascript 文件 造成这
  • 如何允许用户从 Xamarin.Forms 标签复制和粘贴

    如何允许用户从 Xamarin Forms 标签复制和粘贴 在任何平台上单击文本 默认设置不允许突出显示 因此不允许复制和粘贴 任何帮助 将不胜感激 您可以做的是将标签包装在手势识别器中