开发者

WPF floating listbox

I have a textbox that I would like to combine with a listbox in such a way that when the user types into the textbox, certain items will appear in the listbox, and the user may select them from there. What I am looking for is behaviour similar to that of the AutoCompleteBox. Sadly, I can't use the existing AutocompleBox in my p开发者_运维技巧roject for several reasons, so I am trying to come up with similar behaviour on my own. Any ideas?

EDIT: I would like to avoid using the tooltip as this seems like a hack. Also, when the listbox is displayed, no layouts should be changed either in the control or elsewhere. Is there something like the CSS style overflow available?


OK, it looks like "Popup" is what I am looking for. It's got some of its own quirks, but so far it is working just fine. I am pretty much using it like this..

<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>

I am capturing other control events to decide when, and when not to display it.


You could put the ListBox in the TextBox's ToolTip

I'm not sure if that's the best way of doing what you're trying to accomplish, but it will work to make a floating listbox

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜