java 获取控件的位置_如何获取元素的x和y位置,以便在WPF C#应用程序中将新控件放置在它附近...

我想在焦点文本框附近显示自动完成框 . 表格中有很多文字框 . 所有这些文本框都是堆栈面板的子项 . 因此,当用户在文本框中单击时,自动完成框应显示在其下方 .

我通过向堆栈面板添加文本块来创建自动完成框 . 该堆叠面板具有宽度150和高度自动 . 堆栈面板的名称是autoCompleteBox .

我想将此自动完成框放在表单中的焦点文本框附近 . 要在焦点文本框下方移动自动完成框,我使用的是translate transform .

问题:我无法找到聚焦文本框的确切x和y位置 .

到目前为止我做了什么?

最初我尝试使用下面的代码从屏幕中找出它的x和y位置 .

Point pos=targetTextBox.PointToScreen(new Point(0d, 0d));

autoCompleteBox.RenderTransform= new TranslateTransform(pos.X, pos.Y);

但它没有给出理想的结果 .

我也试过下面的代码:

Point pos = targetTextBox.TranslatePoint(new Point(0, 0),this);

autoCompleteBox.RenderTransform= new TranslateTransform(pos.X, pos.Y);

但它也没有给出理想的结果 . (两种情况下,autoCompleteBox都远离目标文本框)

我想将自动完成框放在当前焦点文本框的正下方 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值