Интересно, как я могу проверить текущую ориентацию непосредственно при запуске (MainPage LoadedEvent).Как проверить ориентацию при запуске приложения Windows Phone 8?
следующий код не работает:
public MainPage()
{
InitializeComponent();
Loaded += MainPage_Loaded;
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
Debug.WriteLine(Orientation);
if (Orientation == PageOrientation.Landscape || Orientation == PageOrientation.LandscapeLeft)
Debug.WriteLine("Simulator and Device won't jump in here on startup (always PortraitUp)...");
}
Почему это ведет себя таким образом? И где я могу правильно ориентироваться?
(Я включил SupportedOrientations="PortraitOrLandscape"
и приложение отображается в альбомной ориентации непосредственно с самого начала.)
Ps .: конечно же устройства и симулятором в ландшафте при запуске;)
Это похоже на сделку. Я добавил (как упоминалось выше) 'SupportedOrientations =" PortraitOrLandscape "' - В отличие от вашего примера у меня есть «Ориентация =« Портрет ». Если я изменю это на Пейзаж, у меня есть противоположная проблема, всегда показывающая ориентационный пейзаж. - Как-то я могу понять это поведение, потому что это место по умолчанию, но мне все еще интересно, как я могу решить свою проблему? Может быть, с другим подходом? Прямо сейчас я думаю, что регистрации события orientationChanged может быть достаточно. Но есть ли другой путь? – malte
Помогла ли вам подписка на мероприятие OrientationChanged? –
Извините за поздний ответ. Здесь много вещей. 'OrientationChanged =" MainPage_OnOrientationChanged "' Подписка на события (в основном) работает. Но если я хочу убедиться, что это происходит только один раз на странице навигации, я должен добавить неприятный глобальный bool. Мне бы очень хотелось, чтобы это было сделано в конструкторе. Но я полагаю, что тогда нет шансов? :/ – malte