2011-02-15 74 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