WPF获取TextBox中鼠标所在位置

ForeverLonely00 2010-11-23 06:27:42
我想获取鼠标所在的TextBox中的行列的位置,不知道怎么解决。
如果我在一个ScollViewer里面放置了一个TextBox,不知道怎么获取当前显示的内容,求助,
...全文
338 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jv9 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 foreverlonely00 的回复:]
我想获取鼠标所在的TextBox中的行列的位置,不知道怎么解决。
如果我在一个ScollViewer里面放置了一个TextBox,不知道怎么获取当前显示的内容,求助,
[/Quote]

按照1楼的提示可以获取到TextBox,并获取到其内容。但是获取鼠标行列位置会比较麻烦。目前没有现成的api能实现,只能通过判断字符判断鼠标位置。例如:


protected override void MouseLeftButtonDown (MouseButtonEventArgs e)

{

this.SelectionStart = this.SelectionStart - 1;

}



and



protected override void MouseRightButtonDown (MouseButtonEventArgs e)

{

this.SelectionStart = this.SelectionStart + 1;

}


helloWorld1209 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 foreverlonely00 的回复:]
如果我在一个ScollViewer里面放置了一个TextBox,不知道怎么获取当前显示的内容[/Quote]

给TextBox取个x:Name='tb',后台调用不到是吗?

如果这样的话,我可以用VisualTreeHelper查找子控件,类似这样:


int num = VisualTreeHelper.GetChildrenCount(App.Current.MainWindow);
for(int i=0;i<num;i++)
{
var child = VisualTreeHelper.GetChild(App.Current.MainWindow, i);
TextBox tb = child as TextBox;
if (tb != null)
{
MessageBox.Show(tb.Text);
}
}


8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧