2011-02-15 70 views
0

我有一个文本框,我想以一种方式与列表框结合使用,当用户键入文本框时,某些项目将出现在列表框中,用户可以从中选择它们。我所寻找的是类似于AutoCompleteBox的行为。可悲的是,我不能在我的项目中使用现有的AutocompleBox,原因有很多,所以我试图自己想出类似的行为。有任何想法吗?WPF浮动列表框

编辑: 我想避免使用工具提示,因为这看起来像一个黑客。此外,显示列表框时,不应在控件或其他位置更改布局。有没有像CSS样式溢出可用?

回答

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> 

我捕捉其他控制事件时来决定,而当不显示它。

0

你可以把列表框的文本框的工具提示

我不知道这是做你正在试图完成的任务的最佳方式,但将努力使浮动列表框

+0

是的,但然后我不能使用工具提示的其他任何东西。如果没有其他可能,我可能会走这条路。 – 2011-02-15 17:31:19

+0

工具提示可以包含除ListBox之外的其他控件...例如,它可以容纳包含常规工具提示和ListBox的TextBlock。 – Rachel 2011-02-15 18:04:18