我想在焦点文本框附近显示自动完成框 . 表格中有很多文字框 . 所有这些文本框都是堆栈面板的子项 . 因此,当用户在文本框中单击时,自动完成框应显示在其下方 .
我通过向堆栈面板添加文本块来创建自动完成框 . 该堆叠面板具有宽度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都远离目标文本框)
我想将自动完成框放在当前焦点文本框的正下方 .