弹出窗口WP7中的ListBox

时间:2011-08-22 19:18:44

标签: silverlight windows-phone-7

我正在尝试为Windows Phone 7应用创建搜索建议/历史记录的自定义弹出窗口,但我遇到了一些我无法解决的问题。

我在弹出窗口中使用ListBox来显示我的结果,但是,

a)我的物品没有正确显示,它列出了从-1位置开始的物品???在ListBox中,但是当它们被选中时,它们会给出下面的值。

b)在我的页面中,我有一个显示搜索结果的ListBox,我的弹出建议显示在此ListBox上(下面显示为TextBox),当我滚动/选择建议时,滚动下面的ListBox并选择项目。

有人知道某种解决方法或修复吗?

继承我的(简化)代码:

<Popup Name="AutoCompleteList">
    <Border Background="White" BorderThickness="1" BorderBrush="Black" HorizontalAlignment="Center">
        <ListBox x:Name="ListItems" HorizontalAlignment="Left" Height="Auto">
            <ListBoxItem>
                <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>

感谢。

2 个答案:

答案 0 :(得分:1)

a)ListBox首字母SelectedIndex始终为-1

b)听起来像预期的行为。没有剩下的代码就不可能说。

如果您想要自动完成框,则应使用Silverlight Toolkit中的AutoCompleteBox。你可以读一下它here

答案 1 :(得分:0)

我发现了我的问题。

a)我在托管我的UserControl的页面中使用wp7 toolkit的旋转门过渡效果进行花式导航,这影响了弹出窗口中ListBox的视觉效果:

    <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)我正在使用一个工具包(再次):LongListSelector作为搜索结果的ListBox,这个控件从其上面浮动的Popup中窃取鼠标操作,但使用标准的ListBox控件可以很好地工作。

卫生署!