我正在使用XAML创建一个WinRT应用程序,我有一个控件,当TextBox获得焦点时,它有一个TextBox和一个在其下面打开的Popup。 弹出窗口的宽度与TextBox的宽度相同。这工作正常,但如果我把我的控件放在ScrollViewer中并放大弹出窗口的大小不会改变。我想实现类似于标准ComboBox的东西,当它嵌套在ScrollViewer中时,它会改变Popup的大小。我该怎么办?
我知道弹出窗口必须是VisualTree的一部分,但我不太确定如何在不改变现有布局的情况下添加它。 谢谢
答案 0 :(得分:0)
要让弹出窗口成为TextBox
的父级,您可以修改TextBox
的模板并将其放入其中(您可以将TextBox
子类化为两者添加对下拉列表的支持逻辑并同时更改默认模板)或只是使用Grid
找到TextBox
的根VisualTreeHelper
。默认情况下,TextBox
的根目录为Grid
,因此您可以将其Popup
添加到其Children
。