2015-07-09 3 views
0

Я разрабатываю приложение Windows Phone 8.1 (не SL). У меня есть кнопка с событием OnClick.Как отложить действие WP 8.1

При нажатии на кнопку, пользователь переходит на другую страницу с помощью этого:

Frame.Navigate(typeof(secondPage)); 

Каковы мои варианты задержки навигации? Я хочу подождать полсекунды, прежде чем перемещать пользователя на вторую страницу.

Я пробовал Thread.Sleep(), но я получаю сообщение об ошибке Неразрешенный символ на слове Thread.

Плюс, должен ли я использовать это вообще?

+1

В руководства по проектированию Windows говорится, что навигация по страницам должна происходить с 500 мс, поэтому откладывание ее не кажется очень хорошей идеей. См. Https://msdn.microsoft.com/en-us/library/windows/apps/dn391697.aspx –

+0

@BrianRasmussen page navigation был примером :) Я пытаюсь отложить что-то еще на практике, но принцип - это такой же :) – Ciwan

+0

Хорошо, спасибо за разъяснение. Адаптация перехода может быть и вариантом, в зависимости от того, что вы делаете. –

ответ

1

Попробуйте это:

await System.Threading.Tasks.Task.Delay(500); 

Windows Phone пытается быть асинхронными, насколько это возможно. Это должно сработать для этой цели.

Редактировать: Добавлено полное пространство имен. Убедитесь, что ссылка добавлена ​​и в проект.

+0

Он говорит, что не может решить символ Задача! – Ciwan

+0

У вас есть пространство имен при использовании? System.Threading.Tasks; См. Мое редактирование. Сейчас я далеко от своего персонального компьютера. Я посмотрю на это скоро и вернусь. Мне кажется, что я использовал это раньше. – Cory

+1

Обратите внимание, что в течение 500 мс приложение будет по-прежнему активным и будет принимать пользовательский ввод, поэтому вы должны, вероятно, отключить все входные данные перед вызовом 'await'. В противном случае пользователь может нажать кнопку дважды, или нажать две разные кнопки и т. Д. –

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