'popup'에 해당되는 글 1건

  1. 2010.11.20 [WP7] Popup클래스 Orientation 지원하기 1

Popup클래스에 Orientation을 지원하기 위해서는 2가지 방법이 있는데 첫번째 방법은 Popup을 xaml코드를 이용해서 visual tree에 넣는 방법이고, 두번째 방법은 Behind Code에서 RotateTransform을 이용해서 직접 회전시켜 주는 방법입니다.

첫번째 방법인 xaml을 이용하는 방법은 Panel 컨트롤 등 아래에 Popup을 넣는 방법으로 이렇게 해주면 Orientation이 알아서 적용되고, Popup이 띄워질 위치의 기준은 Panel컨트롤이 됩니다.

아래는 xaml코드의 일부로 Popup안에 Button을 하나 올려놓고, 해당 Popup은 ContentPanel(Grid control) 기준으로 50*50 위치에 팝업되어서 나타납니다.

    
        
    


두번째 방법인 RotateTransform을 이용하는 방법은 Landscape 상태일떄 Popup을 각각 90, -90도 돌려주고, 그에 맞게 VerticalOffset과 HorizontalOffset을 음수 좌표로 변경해줘야합니다.

아래는 Behind code의 일부로 Popup을 전체화면 기준으로 300*300에 팝업되도록 할 때 Orientation이 LandscapeLeft일때 Popup을 설정하는 코드입니다. RotateTransform을 이용해서 90도로 변경하고, VerticalOffset을 음수좌표로 변경하는 코드로 이때 480은 (Landscape기준)화면의 세로 길이입니다.
RotateTransform transform = new RotateTransform();
transform.Angle = 90d;
popup.RenderTransform = transform;

popup.VerticalOffset = 300 - 480;
popup.HorizontalOffset = 300;

아래는 샘플 프로그램의 캡쳐화면이고, 전체소스는 첨부파일에 있습니다~
Portrait

Portrait

LandscapeLeft

LandscapeLeft

LandscapeRight

LandscapeRight



아래는 참고한 사이트입니다~
Posted by Gungume
,