动态创建文本框并按像素设置其位置

时间:2012-08-09 01:45:28

标签: c# .net wpf textbox

在WPF应用程序中,我想动态创建一个文本框,它将显示在应用程序前面,并且能够按像素自由设置其位置。 (文本框将跟随鼠标光标)。

这很容易在Winforms中动态完成,但是WPF让事情变得有些奇怪 - 因为我必须将控件添加为容器的子项。我知道这在Canvas上肯定是可行的,但我实际拥有的是一个dockpanel,左边是一个richtextbox,右边是一个datagrid。

那么我的选择是什么?我必须使用帆布吗?我可以使用dockpanel(或网格)来实现我想要的东西吗?

1 个答案:

答案 0 :(得分:2)

您可以使用CanvasGrid。如果您使用Canvas,请设置Canvas.Left属性和Canvas.Top属性。如果您使用Grid,则需要为TextBox设置尺寸,将HorizontalAlignment设置为Left,将VerticalAlignment设置为{{1} }}。要更改Top的位置,请为TextBoxMarginLeft分配值。