我有一个文本框,我希望与列表框结合使用,当用户键入文本框时,某些项目将显示在列表框中,用户可以从那里选择它们。我正在寻找的是类似于AutoCompleteBox的行为。遗憾的是,由于几个原因,我不能在我的项目中使用现有的AutocompleBox,因此我试图自己提出类似的行为。有什么想法吗?
编辑: 我想避免使用工具提示,因为这似乎是一个黑客。此外,当显示列表框时,不应在控件或其他位置更改布局。是否有类似CSS样式溢出的东西?
答案 0 :(得分:1)
好的,看起来像我正在寻找的“Popup”。它有一些自己的怪癖,但到目前为止它工作正常。我几乎像这样使用它..
<DockPanel>
<TextBox Text="{Binding Value}"/>
<Popup Name="popOptions" Width="300" Height="100" AllowsTransparency="True" StaysOpen="False">
<ItemsControl ClipToBounds="False" Background="White" MouseLeftButtonUp="ItemsControl_MouseLeftButtonUp">
<sys:String>ITEM ONE</sys:String>
<sys:String>ITEM TWO</sys:String>
<sys:String>ITEM THREE</sys:String>
</ItemsControl>
</Popup>
</DockPanel>
我正在捕捉其他控制事件以决定何时以及何时不显示它。
答案 1 :(得分:0)
您可以将ListBox放在TextBox的工具提示
中我不确定这是否是您尝试完成任务的最佳方式,但它可以制作浮动列表框