从 xamarin.forms 中的标签复制文本
Copy text from label in xamarin.forms
我对 Xamarin.Forms
很陌生。我已经开始创建一个应用程序,它将显示从一本书中检索到的大量文本。目前我将文本添加到 Label
,但是用户无法复制他在三个平台中的任何一个的屏幕上看到的文本。
有没有一种方法可以从 Xamarin.Forms
中的标签复制文本?我也尝试过 Editor
,它可以在推入 Editor
时复制数据,但是用户可以输入字符,这是我不希望他们做的。我只想显示我从流中读取的文本,并使用户能够复制他希望的文本数量。任何帮助将不胜感激!
你能试试下面的吗
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";
}
如果您想显示用户应该能够使用本机复制机制复制的文本,我的建议是改用 webview。
文本必须位于添加到网络视图的 html 代码中。
请查看以下指南:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=vswin
我对 Xamarin.Forms
很陌生。我已经开始创建一个应用程序,它将显示从一本书中检索到的大量文本。目前我将文本添加到 Label
,但是用户无法复制他在三个平台中的任何一个的屏幕上看到的文本。
有没有一种方法可以从 Xamarin.Forms
中的标签复制文本?我也尝试过 Editor
,它可以在推入 Editor
时复制数据,但是用户可以输入字符,这是我不希望他们做的。我只想显示我从流中读取的文本,并使用户能够复制他希望的文本数量。任何帮助将不胜感激!
你能试试下面的吗
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";
}
如果您想显示用户应该能够使用本机复制机制复制的文本,我的建议是改用 webview。 文本必须位于添加到网络视图的 html 代码中。 请查看以下指南:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/webview?tabs=vswin