我不知道如何直接在啓動時檢查當前方向(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"
和應用程序在橫向視圖從一開始就直接顯示。)
詩:當然器件和模擬器是在啓動景觀;)
這似乎是交易。我加了(如上所述)'SupportedOrientations =「PortraitOrLandscape」' - 與你的例子相比,我有'Orientation =「Portrait」'。如果我將其改爲「風景」,我會遇到相反的問題,始終顯示風景方向。 - 不知何故,我可以理解這種行爲,因爲它是默認位置,但我仍然想知道我該如何解決我的問題?也許用不同的方法? 現在我認爲註冊orientationChanged事件可能就足夠了。但還有另一種方式嗎? – malte
訂閱OrientationChanged事件對您有幫助嗎? –
對不起,延遲迴復。很多東西都在這裏atm。 'OrientationChanged =「MainPage_OnOrientationChanged」'事件訂閱(基本上)有效。但如果我想確保它只在頁面導航中出現一次,我必須添加令人討厭的全局布爾值。 我真的很想在構造函數中完成此操作。但我認爲那沒有機會了? :/ – malte