我正在尝试实施UserControl
作为自动填充TextBox
。在ListBox
下方显示TextBox
可用选项的最佳方法是什么? ListBox必须不为自己保留空间:它应该位于其他控件之上。是否可以在UserControl
框架之外放置UserControl's
内包含的内容?
我已经尝试了Popup
,但是其中一个问题是弹出窗口不会与父窗口一起移动,因此如果移动父窗口,弹出窗口将保留在它首次出现的位置。有很多方法可以规避代码,但如果有更简单的解决方案,那显然会更好。
答案 0 :(得分:1)
有很多自定义AutoCompleteBox,包括WPF Toolkit 但如果你真的需要从头开始实施一个新的。
您可以对画布/矩形元素使用静态Canvas方法。
Canvas.SetZIndex(object, (int)99);
或XAML样式的setter解决方案
<Setter Property="Panel.ZIndex" Value="99" />
答案 1 :(得分:1)
如果您想从头开始,请将ListBox
放在AdornerLayer
上。
AdornerLayer是窗口顶部的不可见图层(如玻璃窗格)。这样,您可以在其上放置无关的UI元素,而不会弄乱现有的GUI布局。