【问题标题】:Copy text from label in xamarin.forms从 xamarin.forms 中的标签复制文本
【发布时间】:2017-12-08 08:36:06
【问题描述】:

我对@9​​87654321@ 很陌生。我已经开始创建一个应用程序,它将显示从书中检索到的大量文本。目前我将文本添加到Label,但是用户无法复制他在三个平台中的任何一个的屏幕上看到的文本。

有没有办法从Xamarin.Forms 中的标签复制文本?我也试过Editor,它可以在推入Editor时复制数据,但是用户可以输入我不希望他们做的字符。我只想显示我从流中读入的文本,并使用户能够复制他希望的文本量。任何帮助将不胜感激!

【问题讨论】:

  • 您可以使用按钮,或向标签添加手势,将标签文本复制到剪贴板。
  • 您可以继承编辑器并覆盖文本更改事件以防止用户更改文本。
  • 尝试创建一个渲染器并使其只读
  • 无法覆盖 TextChanged,因为它没有标记为虚拟、抽象或覆盖,无论如何感谢@slepz

标签: text xamarin.forms copy label xamarin.forms.entry


【解决方案1】:

你可以试试下面的

Page.Xaml

<Entry TextChanged="Handle_TextChanged" Text="EnteyText" Unfocused="Handle_Unfocused" Focused="Handle_Focused" x:Name="entry" HeightRequest="50" WidthRequest="100" BackgroundColor="Aqua"/>
<Button Text="Bind Text From Book" Clicked="Handle_Clicked" HeightRequest="50" WidthRequest="100" />

Page.Xaml.CS

    bool isFocused;
    string entryText="EnteyText";

    void Handle_Focused(object sender, Xamarin.Forms.FocusEventArgs e)
    {
        isFocused = e.IsFocused;
    }

        void Handle_Unfocused(object sender, Xamarin.Forms.FocusEventArgs e)
        {
            isFocused = e.IsFocused;
        }

        void Handle_TextChanged(object sender, Xamarin.Forms.TextChangedEventArgs e)
        {
            if (!isFocused)
            {
                entryText = (sender as Entry).Text;
            }
            if (isFocused && entryText != e.NewTextValue)
            {
                (sender as Entry).Text = e.OldTextValue;
            }
        }

        void Handle_Clicked(object sender, System.EventArgs e)
        {
            entry.Unfocus();
            entry.Text = "Text from book";
        }

【讨论】:

    【解决方案2】:

    如果您想显示用户应该能够使用本机复制机制复制的文本,我的建议是使用 webview。 文本必须是添加到 webview 的 html 代码。 请参阅以下指南:

    https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=vswin

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 2014-04-27
      • 1970-01-01
      • 2018-11-22
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多