Sven fa un buon lavoro che mostra come rilevare modifica Orientamento ...
Tuttavia, se non si sta scrivendo un'applicazione Metro (dove è possibile impostare orientamenti preferenziali nel manifesto) non c'è modo reale per NON lasciare che il cambiamento di orientamento, se siete interessati a consentendo solo Ritratto si poteva fare qualcosa di simile:
Vista Modello:
Microsoft.Win32.SystemEvents.DisplaySettingsChanged += new
EventHandler(SystemEvents_DisplaySettingsChanged);
}
public bool IsLandscape { get; set; }
void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
{
if (SystemParameters.PrimaryScreenWidth > SystemParameters.PrimaryScreenHeight)
{
IsLandscape = true;
}
else
{
IsLandscape = false;
}
RaisePropertyChanged("IsLandscape");
}
in te principale Window.xaml:
012.
Quindi non stiamo davvero limitando l'orientamento, stiamo solo notando quando accade e ruotando nuovamente la nostra interfaccia utente in modo che sembri ancora in modalità Portrait :) Ancora una volta questo è principalmente per applicazioni Metro Win 8 non e o applicazioni che funzionano anche su Win 7 compresse.
Non è una risposta diretta alla tua domanda, ma se ridisegni la tua interfaccia utente per utilizzare un layout fluido, gli utenti non guarderanno l'interfaccia utente lateralmente quando trasformano il tablet in modalità orizzontale. WPF ha molte opzioni per fare layout fluente. –
Stai usando una tela per fare il layout? –