0

지원되는 방향을 사용하여 텍스트 블록의 값이나 텍스트를 변경하는 방법을 배우고 있습니다. 필자가 원하는 것은 장치가 가로 모드로 기울어 진 경우 텍스트 블록에 "안녕"이라고 표시되고 세로 모드로 기울이면 "환영"이라고 말합니다.Windows 전화 7에서 화면 방향을 사용하여 텍스트를 표시하는 방법은 무엇입니까?

관계 연산자를 사용해야하는지 알고 싶습니다. if() 문 안에 올바른 출력을 제공합니다.

if() 안에 무엇을 사용해야합니까?

  1. if(Orientation.Equals(SupportedOrientation.Portrait)) { // display "Welcome"}
  2. if(SupportedOrientation.Equals(SupportedPageOrientation.Portrait)) {// display "Welcome"}

어떻게 내가 원하는 값을 변경할 방향을 사용할 수 있습니까?

답변

1

PhoneApplicationPage 클래스의 OrientationChanged 이벤트를 사용하거나 페이지 클래스에 코드를 작성하는 경우 OnOrientationChanged 메서드를 재정의 할 수 있습니다.

this.OrientationChanged += new EventHandler<OrientationChangedEventArgs>(MainPage_Orientationchanged) 

void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e) 

    { 
    if (orientation == PageOrientation.LandscapeLeft || 
    orientation == PageOrientation.LandscapeRight) 

    { 

    textblock.text = bye; 

    } 

if (orientation == PageOrientation.PortraitLeft || 
    orientation == PageOrientation.PortraitRight) 

{ 

    textblock.text = welcome; 
} 

} 
+0

고맙습니다! 효과가있었습니다. LandscapeLeft와 LandscapeRight 대신에 더 많은 질문이 있습니다. 코드를 으로 수정했는데 (orientation == PageOrientation.Landscape), 실행하려고 시도했지만 작동하지 않았습니다! 왜 작동하지 않았습니까? '풍경'에는 풍경 왼쪽과 오른쪽이 모두 포함되어 있지 않습니까? –

+0

방향을 가로 또는 오른쪽으로 변경 한 후에 만 ​​이벤트가 시작됩니다. 왼쪽으로 회전하면 방향 검사의 기본 동작이므로 가로 방향이 왼쪽 또는 오른쪽 방향으로 발생합니다. 당신이 단순히 풍경으로 언급한다면 오리엔테이션 컨트롤은 움직임이 오른쪽에서 왼쪽인지 그렇지 않은지를 발견 할 수 없습니다. 우리 페이지에서 많은 UI 컨트롤을 사용하는 경우 왼쪽 및 오른쪽 가로 방향 컨트롤에 대해 서로 다른 컨트롤을 수행해야합니다. 그래서 그것의 왼쪽과 오른쪽을 확인해야합니다 –

+0

좋아! 그럼 오리엔테이션을 언제 사용 하죠? 풍경? –

관련 문제