2016-03-04 2 views
2

Я разрабатываю приложение UWP. Когда пользователь нажимает на какой-либо элемент управления, если этот элемент управления занимает больше времени для выполнения своих задач, я хочу показать указание пользователю, например, Операция занимает много времени, пожалуйста, подождите с изображениями в центре экрана. Как это сделать в приложении UWP?Как показать загружаемое изображение в UWP?

Я думаю, что наш UWP работает над концепцией Single Thread, если я прав.
Пожалуйста, дайте мне ваше предложение решить эту проблему.

ответ

6

Лучший способ указать длинную операцию бега, чтобы использовать встроенный в ProgressRing управления:

<ProgressRing x:Name="LoadingIndicator" /> 

Ваша длинный ход операция должна быть реализована как async метода. Вы могли бы назвать его следующим образом:

try 
{ 
    LoadingIndicator.IsActive = true; 
    await LongOperationAsync(); 
} 
finally 
{ 
    LoadingIndicator.IsActive = false; 
} 

Установка IsActive в true будет отображать прогресс кольцо и начать вращение. Возврат к false скроет и деактивирует его снова. Пока выполняется LongOperationAsync, приложение будет реагировать, и пользователь сможет взаимодействовать с ним.

Если вы используете MVVM, вы можете, конечно, установить булевское свойство и привязать его к свойству IsActive.

Не уверен, что вы слышали о концепции «единого потока» для приложений UWP, но ничто не мешает вашему приложению многопоточно. Действительно, вы не можете использовать класс Thread напрямую, но в любом случае вы должны использовать Task.

+0

Спасибо Теперь я могу делать ... @Damir Arh – Sagar

+0

как установить собственный цвет для прогрессирующего ... По умолчанию он принимает цвет акцента ... Как его изменить ... – Razor

+0

Просто установите свойство 'Foreground', например:' ' –

0

Вы можете использовать FFImageLoading он использует различные методы для оптимизации загрузки изображений (в том числе/кэш-памяти загрузки), а также поддерживает заполнители загрузки/ошибка:

<ff:FFImage VerticalAlignment="Stretch" HorizontalAlignment="Stretch" TransformPlaceholders="False" LoadingPlaceholder="loading.png" ErrorPlaceholder="error.png" Height="500" Width="500" Source="http://loremflickr.com/600/600/nature?filename=simple.jpg">

Смежные вопросы