WP7 / Silverlight] Связывание удаленных изображений в списке, чтобы пользовательский интерфейс не блокировался - PullRequest
3 голосов
/ 21 сентября 2010

(Сценарий: Windows Phone 7 / Silverlight)

У меня есть ListBox, который я упрощу до этого XAML:

<ListBox ItemsSource="{Binding Path=ImageLinks}"> <!-- ImageLinks a collection in ViewModel -->
    <ListBox.ItemTemplate>
                <DataTemplate>
                    <Image Source="{Binding Path=ImageSource}" /> <!-- ImageSource is a string with the url to the image-->
                </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Теперь приведенный выше код работает, но проблема в том,что, когда элемент рендерится / загружается или что-то еще начинает загружать изображение, но при этом он блокирует пользовательский интерфейс.И поскольку в то время подходит более одного элемента, пользовательский интерфейс блокируется до тех пор, пока не будут загружены все соответствующие изображения.

Итак, вопрос заключается в том, как получить эту функцию без блокировки пользовательского интерфейсапри загрузке изображений (и во избежание повторной загрузки их всех при каждом переходе к представлению)? .

Заранее спасибо.

Хорошо, проблема решена, Спасибо всем, ктонашел время, чтобы помочь мне.

Ответы [ 3 ]

3 голосов
/ 22 сентября 2010
1 голос
/ 22 сентября 2010

Вы также можете использовать класс PersistentImageCache из моего инструментария Kawagoe , который был разработан специально для этого варианта использования. Дайте мне знать, если это поможет! :)

1 голос
/ 21 сентября 2010

Вы можете заполнить ImageLinks во вторичном потоке, который не привязан к пользовательскому интерфейсу, и связать его непосредственно из кода, как только он будет заполнен, вместо прямой привязки XAML.

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