2012-09-27 4 views
7

내 앱에서 모든 항목은 가로 모드에만 있습니다. 세로 모드에서는 앱이 작동하지 않기를 바랍니다. 오리엔테이션을 어떻게 제한합니까?메트로 앱의 방향을 제한하는 방법은 무엇입니까?

감사합니다.

+2

오리엔테이션 변경 이벤트를 구독하지 않음 (오리엔테이션 변경시 아무 작업도 수행하지 않음). –

+0

appmanifest 파일에서 지원되는 방향을 제한 할 수 있습니다. –

+0

답장을 보내 주셔서 감사합니다. Appmanifest에서 제한적 사용을 시도했습니다. 그러나 화면을 회전하여 볼 때 세로 모드에서는 조금 이상합니다. – indiaxxo

답변

4

this link에서 설명한 것처럼 응용 프로그램의 방향 제한 환경 설정은 지원되는 하드웨어 가속도계가있는 Windows 8 시스템에서만 적용됩니다. 즉, Windows가 지원되는 센서 수단을 통해 시스템 방향을 파악하지 않으면 앱의 기본 설정 방향으로 전환하지 않습니다.

그래서 사용자의 하드웨어에 따라 다릅니다.

+0

완벽 .. ans을 보내 주셔서 감사합니다. – indiaxxo

4

내 게임을 가로 모드로 제한하려는 것과 마찬가지로이 문제가있었습니다. 나는 App.xaml 내 OnLaunched 처리기에 넣고 :

 Windows.Graphics.Display.DisplayProperties.AutoRotationPreferences = 
      Windows.Graphics.Display.DisplayOrientations.Landscape; 

그러나 나는 시뮬레이터에서 적절하게 행동하는 것 같았다에 내가 테스트 하드웨어 태블릿 반면이를 무시하는 듯 말했다. AutoRotationPreferences는 비트 플래그이므로 허용 할 오리엔테이션을 모두 또는 함께 지정할 수 있습니다. (당신이 매니페스트에 기본 방향을 설정하거나 Windows.Graphics.Display.DisplayProperties.AutoRotationPreferences에 액세스 할 수있는) 메트로 응용 프로그램을 작성하지 않은이 질문에 대한 답을 찾고있는 사람들을 위해

+0

시뮬레이터 팁 절약 시간 절약 – root

0

...

못하게하는 실제 방법은 없습니다

당신 홈페이지 Window.xaml에서

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"); 
} 

:

보기 모델 : 방향 변경, 당신은 단지 풍경을 허용에 관심이 있지만 경우에 당신이 뭔가를 할 수

<Border > 
    <Border.Style> 
     <Style TargetType="{x:Type Border}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding IsLandscape}" Value="False"> 
        <Setter Property="LayoutTransform"> 
         <Setter.Value> 
          <RotateTransform Angle="90"/> 
         </Setter.Value> 
        </Setter> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </Border.Style> 

///The rest of your controls and UI 

</Border> 

오리엔테이션이 실제로 제한되어 있지 않으므로 인물 모드가 아닌 것처럼 보입니다. 애플리케이션 및/또는 Win 7 태블릿에서도 실행되는 애플리케이션을 지원합니다.

관련 문제