在SelectedItem上选择AutoCompleteBox错误的项目(可能是xaml问题)

时间:2011-12-10 13:07:44

标签: c# silverlight windows-phone-7 silverlight-toolkit

我一直在使用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>

1 个答案:

答案 0 :(得分:0)

该死的控制权 好吧,看起来它与导致this发生的同一个bug有关

我创建了一个转换:

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