Pull to refresh

Особенности разработки для Windows 8 на C# и XAML

Привет Хабр! Хочу поделится некоторыми особенностями разработки программ/игр для платформы WinRT и публикацией их в Магазине Windows.

С чего все началось?

Началось все с того, что я с однокурсником решили поучаствовать в Хакатоне который проходил в Армении. Платформа WinRT была выбранна потому, что в ней было мало конкуренции и эта платформа была для нас неизученной. И мы сразу же направились на MSDN и начали работу. На MSDN все довольно хорошо описанно, но все таки есть нюансы, не зная которых новичку на данной платформе придется поломать голову. Я попробую прояснить 2 из них.

1. Работа с клавиатурой
.
Вот тут все очень подробно расписанно, но все что там написанно у нас не заработало или заработало, но не так как надо.
Во первых они придлогают присоединить обработчик для события KeyUp к элементу Grid.
...

Это вообще не работает! Почему?
В начале этой инструкции написанно:
Для того чтобы элемент управления получил фокус, он должен быть включенным, видимым, а его свойства IsTabStop и HitTestVisible должны иметь значение true.

Но элемент Grid не имеет свойства IsTabStop. Поэтому и не работает.
Был вариант прикрутить обработчик для событий клавиатуры к элементу Page, но тут загвоздка в том, что фокус должен быть на этом элементе. Т.е. если вы кликните где нибудь мышкой то фокус с элемента Page уйдет, а из этого следует что функция работы с клавиатурой никогда не будет вызвана.
Я предлогаю использовать объект окна.
Window.Current.CoreWindow.KeyDown += KeyDown_Func;

2. Публикация

Тут скорее всего совет. Не забудьте перед построением переключится в Release режим. Если вы построите программы в Debug режиме, ее не примут в Магазин.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.