Август
7
2012

Записки на полях: Разработка C# Windows RT

Записки на полях: Разработка  C# Windows RT

Разработка под Windows 8 усложняется тем, что практически все подсказки по программированию в интернете основаны на старых версиях .Net. Многих методов в новой версии просто нет, а другие стали ассинхронными.

Я решил собрать здесь шпаргалку полезного кода, который может пригодится в разработке.

Большая часть этих строк,быдлокод в чистом виде, но пока нет достаточного количества полезных знаний, приходится работать с тем что есть.

Асинхронные операции

Практически все работы с внешним миром (операции с файлами, работа в сети) выполняются только асинхронно. Это означает, что во время обработки асинхронной операции управление передается обратно в пользовательский интерфейс. Вот пример такого кода

В переменной debug будет хранится ссылка на задачу, при этом код продолжит выполнятся, не дожидаясь обработки запроса, myTextBox поменяет свое значение практически мгновенно. Вам придется самостоятельно дожидаться обработки задания, а потом манипулировать результатом.

А вот другой пример

 В этом случае обработка кода приостановится, а управление вернется пользователю. Когда внешний запрос завершится, то переменной debug присвоится результат выполнения операции, в данном случае HttpResponseMessage. Текст в поле myTextBox поменяется через некоторое время.

Когда вы используете await, компилятор требует превратить функцию в асинхронную. Было

 Стало

При этом асинхронность рекурсивно доходит до обработчиков событий. Пользователь нажал кнопку, запустилась асинхронная функция обработки события нажатия, управление вернулось пользователю. При этом обработка события продолжается и может занимать несколько секунд, особенно если вы запрашиваете данные из сети по медленному соединению или открываете большой файл.

Работа с файлами

 

Показать картинку с диска

Допустим вы добавили на страницу элемент

А теперь хотите во время выполнения какой-то операции изменить картинку на экране. Для этого нужно установить параметр Source

ms-appdata:/// это фактически рабочее окружение вашего приложения, куда оно имеет доступ; local это та папка, в которую мы можем писать, используя Windows.Storage.ApplicationData.Current.LocalFolder.

 

 

Неправильная раскладка: pfgbcrb yf gjkz[: hfphf,jnrf с# цштвщцы ке

Понравилась статья? Посоветуйте друзьям!

C# Windows 8


Понравилась статья? Подпишись на рассылку по E-Mail или в RSS.