Silverlight C#-如何复制文本框中单击的文本行?
我有一个基于“\r”分解成数组的文本框 我希望将单击的文本行放入字符串中 例如,如果我单击文本框下面的第二行,我希望在字符串中输入“第二行” 第一行Silverlight C#-如何复制文本框中单击的文本行?,c#,.net,silverlight,silverlight-4.0,C#,.net,Silverlight,Silverlight 4.0,我有一个基于“\r”分解成数组的文本框 我希望将单击的文本行放入字符串中 例如,如果我单击文本框下面的第二行,我希望在字符串中输入“第二行” 第一行 第二行 最后一行 我该怎么做呢?这很接近,但我建议在TextBox.SelectionStart和TextBox.SelectionEnd之间选择文本,而不要选择您要执行的操作 WPF,但可能是相同的 main window.xaml <TextBox MouseDoubleClick="textBox1_MouseDoubleClick
第二行
最后一行
我该怎么做呢?这很接近,但我建议在TextBox.SelectionStart和TextBox.SelectionEnd之间选择文本,而不要选择您要执行的操作 WPF,但可能是相同的 main window.xaml
<TextBox
MouseDoubleClick="textBox1_MouseDoubleClick" />
这并不是一个真正的答案,因为我最终从一个数据网格中抓取了字符串,我用本文引用的文本框中的数据填充了这个字符串
该解决方案的链接是:看起来基本上就是这样,但它总是返回第[0]行,因为其中没有代码来实际收集实际单击的行,因此它默认为0。-1:与您在这个问题中所要求的完全不同。此答案与您的问题完全无关。您为什么不使用Windows新行字符
“\r\n”
?
private void textBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
int characterIndex = this.textBox1.SelectionStart;
string characterIndexSubstring = this.textBox1.Text.Substring(0, characterIndex);
int lineNumber = characterIndexSubstring.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Length;
string[] lines = textBox1.Text.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
string clickedOnValue = lines[lineNumber];
MessageBox.Show(clickedOnValue);
}