开发者

ListBox in Popup WP7

开发者 https://www.devze.com 2023-03-30 11:57 出处:网络
I\'m trying to create a custom popup for search suggestions/history for a Windows Phone 7 app but I\'ve run into a couple of probs I can\'t fix.

I'm trying to create a custom popup for search suggestions/history for a Windows Phone 7 app but I've run into a couple of probs I can't fix.

I'm using a ListBox in the popup to display my results but,

a) My items are not displaying correctly, it's listing the items starting from -1 position??? in the ListBox but when selected they give the value from the one below.

b) In my page I have a ListBox which shows search results and my popup suggestions is shown over this ListBox (below as TextBox) and when I scroll/select suggestions the ListBox underneath is scrolled and items are selected.

Does anyone know of a workaround or fix please?

Heres my (simplified) code:

<Popup Name="AutoCompleteList">
    <Border Background="White" BorderThickness="1" BorderBrush="Black" HorizontalAlignment="Center">
        <ListBox x:Name="ListItems" HorizontalAlignment="Left" Height="Auto">
            <ListBoxIte开发者_C百科m>
                <TextBlock Text="Test1" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test2" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test3" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test4" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test5" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test6" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test7" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test8" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test9" Foreground="Black" />
            </ListBoxItem>
            <ListBoxItem>
                <TextBlock Text="Test10" Foreground="Black" />
            </ListBoxItem>
        </ListBox>
    </Border>
</Popup>

Thanks.


a) The ListBox initial SelectedIndex is always -1

b) Sounds like intended behaviour. Impossible to say without the rest of your code.

However if you want a AutoCompleteBox, you should use the AutoCompleteBox from the Silverlight Toolkit. You can read a bit about it here


I found my problems.

a) I was using wp7 toolkit's turnstile transition effect for fancy navigation in the page that hosts my UserControl and this was affecting the visuals of the ListBox in the Popup:

    <toolkit:TransitionService.NavigationInTransition>
    <toolkit:NavigationInTransition>
        <toolkit:NavigationInTransition.Backward>
            <toolkit:TurnstileTransition Mode="BackwardIn"/>
        </toolkit:NavigationInTransition.Backward>
        <toolkit:NavigationInTransition.Forward>
            <toolkit:TurnstileTransition Mode="ForwardIn"/>
        </toolkit:NavigationInTransition.Forward>
    </toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
    <toolkit:NavigationOutTransition>
        <toolkit:NavigationOutTransition.Backward>
            <toolkit:TurnstileTransition Mode="BackwardOut"/>
        </toolkit:NavigationOutTransition.Backward>
        <toolkit:NavigationOutTransition.Forward>
            <toolkit:TurnstileTransition Mode="ForwardOut"/>
        </toolkit:NavigationOutTransition.Forward>
    </toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>

b) I was using a toolkit(again):LongListSelector as a ListBox for search results and this control was stealing mouse actions from the Popup floating above it but using the standard ListBox control works perfectly.

Doh!

0

精彩评论

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

关注公众号