我一直在使用Silverlight for windows phone(工具包)中的autocompletebox进行一段时间的战斗,似乎无法弄清楚发生了什么
我有一个简单的搜索框,绑定到自定义项列表。当selectionchanged事件触发时,会出现问题,我单击的项目不是SelectedItem的项目。我意识到,当我选择时,让我们说第一项,没有任何反应。当我选择第二项时,第一项实际上被选中,依此类推。这就像是项目被逐步淘汰了一次
这是重要的作品代码
控制:
<toolkit:AutoCompleteBox MinimumPrefixLength="0" Text="{Binding Localizedresources.Search, Source={StaticResource LocalizedStrings}}" Grid.Row="0" VerticalAlignment="Bottom" HorizontalAlignment="Left" MinWidth="270" ItemsSource="{Binding AutoCompleteEntities}" x:Name="txtSelectEntity" ValueMemberBinding="{Binding }" ItemTemplate="{Binding AutoCompleteTemplate}" IsDropDownOpen="True" MaxDropDownHeight="200" >
</toolkit:AutoCompleteBox>
模板(添加了蓝色边框,因为我首先想到的是我没有碰到正确的部分)
<DataTemplate x:Key="AutoCompleteTemplate">
<Border BorderBrush="Blue" BorderThickness="2">
<TextBlock Text="{Binding GermanMeaning}"></TextBlock>
</Border>
</DataTemplate>
答案 0 :(得分:0)
我创建了一个转换:
<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>
使页面切换看起来更酷,但看起来那些绝对与自动完成框无关的代码行会弄乱它。我希望有人能在某些时候修复这些可怕的随机错误,不仅它们很讨厌,而且它们也很难被捕获(这让我输了3h)