WPF ListBox Показать ПОДОЖДИТЕ Курсор? - PullRequest
0 голосов
/ 22 января 2010

У меня есть WPF ListBox, который отображает изображения, загруженные из локальной папки, обычно где-то от 1 до 300). Я использую конвертер в своем imageTemplate, чтобы убедиться и показать эскизы изображений, а не изображения в полном размере. Даже при этом это все еще может занять несколько секунд, чтобы загрузить изначально. У меня вопрос, как я могу узнать в моем ListBox при загрузке ListBoxItems Начинается / заканчивается, чтобы я мог установить курсор мыши в состояние ожидания? я ищу способ уведомить пользователя о том, что что-то происходит ..

Вот как выглядит мой ListBox в XAML:

<ListBox SelectionMode="Extended"
         ItemsSource="{Binding Path=ImageFiles}"
         ItemTemplate="{StaticResource imageTemplate}"
         ScrollViewer.CanContentScroll="True"
         ScrollViewer.HorizontalScrollBarVisibility="Disabled"
         ScrollViewer.IsDeferredScrollingEnabled="False"
         VirtualizingStackPanel.VirtualizationMode="Recycling"
         x:Name="images">
        <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                 <WrapPanel />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
   </ListBox>

Спасибо!

1 Ответ

0 голосов
/ 22 января 2010

Я ответил на аналогичный вопрос, здесь .

Если вы не хотите делать всплывающее окно, вы также можете сделать что-то подобное, прикрепив полупрозрачный прямоугольник (или какой-либо другой элемент управления заполнением) с сообщением / анимацией перед ним, к списку или его родительский элемент управления, который закрывается асинхронно, как всплывающее окно в связанном ответе. Я сделал что-то подобное для Silverlight еще до того, как BusyIndicator был доступен, и он работал довольно хорошо. Я настроил его как пользовательский элемент управления со свойством элемента управления, который он должен покрывать, чтобы его можно было легко использовать повторно.

...