gpt4 book ai didi

c# - 在 TextBlock 中,是否可以通过触摸来选择特定的单词?

转载 作者:太空狗 更新时间:2023-10-30 00:20:50 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个包含一些单词(例如 20 或 25)的 TextBlock。我希望用户能够在 TextBlock 中点击一个单词并在应用程序中检索它以便之后使用它。

有没有人有想法?

我试过使用只读文本框。但是我需要点击它大约 3 次才能在其中选择一个单词,而且我无法使用复制和粘贴功能执行任何操作。

提前致谢。

最佳答案

简单的回答:你不能

变通方法:使用重新设置样式的 TextBox 使其看起来像 TextBlock

TextBox box= new TextBox();
box.Style = (Style)App.Current.Resources["CopyTextBlock"];

here对于 "CopyTextBlock" 样式。

并重载GotFocus:

box.GotFocus += textBox_GotFocus;

与:

private void textBox_GotFocus(object sender, RoutedEventArgs e)
{
TextBox txtBox = (TextBox)sender;

char[] strDataAsChars = txtBox.Text.ToCharArray();
int i = 0;

for (i = txtBox.SelectionStart - 1; ((i >= 0) && (strDataAsChars[i] != ' ')); --i) ;
int selBegin = i + 1;

for (i = txtBox.SelectionStart; ((i < strDataAsChars.Length) && (strDataAsChars[i] != ' ')); ++i) ;
int selEnd = i;

txtBox.Select(selBegin, selEnd - selBegin);
Console.WriteLine("\n" + txtBox.SelectedText);
}

Source用于 GotFocus 函数。

关于c# - 在 TextBlock 中,是否可以通过触摸来选择特定的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com