Определите, что экранная клавиатура отображается на Windows Phone 7

Простой вопрос: Как определить, что экранная клавиатура отображается на Windows Mobile 7? Есть ли событие, в котором я могу добавить слушателя?

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

EDIT:

Комментарий ниже показывает более четко то, что я пытаюсь сделать: у меня есть ввод текстового поля, и по мере того, как пользователь вводит в него, появляется надпись автозаполнения (например, google). По умолчанию активный элемент управления (текстовое поле) прокручивается в поле зрения, когда фокусируется, а экранная клавиатура находится под ним. Экранная клавиатура появляется перед раскрывающимся списком автозаполнения - то, что я хочу сделать, это сделать прокрутку экрана немного дальше, так что там будет место для моего выпадающего списка.

В директивах по дизайну интерфейса телефона Windows говорится: "Когда клавиатура развернута, приложение должно прокручивать, чтобы убедиться, что активный элемент управления редактированием и каретка видны". Это происходит хорошо, это просто неактивное выпадающее меню скрывается за экранной клавиатурой.

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

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

Ответ 1

Обнаружение, когда виртуальная клавиатура отображается, будет невозможна в 7.0, как подтверждено Microsoft Peter Torr на форуме WP7 на MSDN.

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

Ответ 2

Вы можете прослушать TextBox.GotFocus и TextBox. LostFocus, чтобы обнаружить, когда текстовое поле в приложении получает и теряет фокус.

Ответ 3

Если редактируемый элемент получает фокус, структура автоматически прокручивает элемент в виде. Поэтому вам действительно не нужно ничего делать.