С телефоном Windows, есть ли событие, которое я могу зарегистрировать, когда устройство перешло в альбомный режим?Как получить событие изменения ориентации устройства под Windows Phone
Причина, по которой я спрашиваю об этом, заключается в том, что у нас есть представление с полем ввода. А когда в ландшафтном режиме, TextBox
частично заблокирован клавиатурой. Поэтому я думаю, возможно, придется скрыть дополнительную информацию на странице, когда она находится в ландшафтном режиме (например, скрыть заголовок страницы и т. Д.).
Ниже приведен простой пример. Слева: перед отображением клавиатуры; Справа: после отображения клавиатуры.
я отправил еще один вопрос, связанный с этим и имеет лучшее решение, насколько я обеспокоен:
Why isn't the TextBox inside ContentDialog automatically scroll above keyboard
Но независимо от того, что здесь не является полный код для события смены ориентации:
// Define this in the class
private SimpleOrientationSensor _simpleorientation;
// Put hits in the Constructor
_simpleorientation = SimpleOrientationSensor.GetDefault();
if (_simpleorientation != null)
{
_simpleorientation.OrientationChanged += new TypedEventHandler<SimpleOrientationSensor, SimpleOrientationSensorOrientationChangedEventArgs>(OrientationChanged);
}
// Event function
private void OrientationChanged(object sender, SimpleOrientationSensorOrientationChangedEventArgs e)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
{
// ...
});
}
Silverlight или XAML? –
@IgorKulman, это для xaml. Просто добавлен новый тег. –
[PhoneApplicationPage.OrientationChanged] (http://msdn.microsoft.com/en-us/library/windows/apps/microsoft.phone.controls.phoneapplicationpage.orientationchanged (v = vs.105) .aspx) или просто посмотрите на SizeChanged в окне, я даже потрудился с быстрым поиском этого? О, и PS, Silverlight использует xaml ... –