我正在尝试为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>
感谢。
答案 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控件可以很好地工作。
卫生署!