ListBox в Popup WP7 - PullRequest
       1

ListBox в Popup WP7

0 голосов
/ 22 августа 2011

Я пытаюсь создать собственное всплывающее окно с подсказками / историей поиска для приложения 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 ]

1 голос
/ 22 августа 2011

а) ListBox инициал SelectedIndex всегда -1

б) Звучит как намеченное поведение.Невозможно сказать без остальной части вашего кода.

Однако , если вы хотите AutoCompleteBox, вы должны использовать AutoCompleteBox из Silverlight Toolkit .Вы можете прочитать немного об этом здесь

0 голосов
/ 23 августа 2011

Я нашел свои проблемы.

a) Я использовал эффект перехода турникета инструментария wp7 для необычной навигации на странице, на которой размещен мой UserControl, и это влияло на визуальные элементы 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 для результатов поиска, и этот элемент управления крал действия мыши из всплывающего окна над всплывающим окном, но использование стандартного элемента управления ListBox работает отлично.

Doh!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...