Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 WPF 应用程序中,我想动态创建一个文本框,它将显示在应用程序的前面,并且能够按像素自由设置其位置。(文本框将跟随鼠标光标)。
这很容易在 Winforms 中即时完成,但 WPF 让事情变得……在按像素设置控件的位置时有点奇怪,因为我必须将控件添加为容器的子项。我知道这在 Canvas 上肯定是可行的,但我实际上拥有的是一个停靠面板,左边有一个丰富的文本框,右边有一个数据网格。
那么我在这里有什么选择呢?我必须使用画布吗?我可以使用停靠面板(或网格)来实现我想要的吗?
您可以使用 aCanvas或 a Grid。如果使用 a Canvas,请设置Canvas.Left属性和Canvas.Top属性。如果你使用 a Grid,你需要为你的TextBox,设置HorizontalAlignmenttoLeft和VerticalAlignmentto设置一个大小Top。要更改 的位置TextBox,请为其分配MarginLeft和的值MarginTop。
Canvas
Grid
Canvas.Left
Canvas.Top
TextBox
HorizontalAlignment
Left
VerticalAlignment
Top
MarginLeft
MarginTop