gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 20:40:40 26 4
gpt4 key购买 nike

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

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

如有任何帮助,我们将不胜感激。

最佳答案

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

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

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

Xamarin.Forms Dependency service documentation

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

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

        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))]
  • 从 X.F 函数调用依赖服务

        public void YourFunctionToHandleMadTaps(Object sender, EventArgs ea)
    {
    var clipboardText = DependencyService.Get<IClipBoard> ().GetTextFromClipBoard ();

    YourFunctionToHandleMadTaps.Text = clipboardText;
    }
  • 关于xamarin - 如何允许用户从 Xamarin.Forms 标签复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27570497/

    26 4 0
    文章推荐: asp.net - 休眠死锁
    文章推荐: Java:获取时间间隔
    文章推荐: delphi - 存储 ISAPI 扩展参数
    文章推荐: 数学编程优化
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com