프로그래밍/실버라이트

[실버라이트] 브라우져의 현재 싸이즈 가져오는 팁

쿠샨 2011. 12. 12. 14:03

실버라이트를 브라우져에서 구동 시킬 때 브라우져의 현재 싸이즈를 알아야 할 경우가 있다.

이때 사용 하는 코드
App.Current.Host.Content.ActualHeight; --> 브라우져의 현재 높이
App.Current.Host.Content.ActualWidth; --> 브라우져의 현재 길이

위 코드를 사용하면 브라우져의 현재 싸이즈를 알수가 있고, 브라우져의 싸이즈가 변경될 때마다
처리해줘야 하는 일들이 있다면,
App.Current.Host.Content.Resized += new EventHandler(Content_Resized);

위 코드로 Resized 이벤트 핸들러를 연결 하자.

그리고 아래에서 구현해주면 끝.


// ----------------------------------------------------------------------------------------- //
/// <summary>
///     [★ 이벤트] 브라우져 Resized 이벤트
///                 - content ScrollViewer의 MaxHeight 값을 변경 한다. --> 브라우져 높이의 80%
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
// ----------------------------------------------------------------------------------------- //
void Content_Resized(object sender, EventArgs e)
{
      // 스크롤뷰어의 최대 높이 값을 브라우져 높이의 80%로 셋팅 한다.
      scrollViewer_content.MaxHeight = App.Current.Host.Content.ActualHeight * 0.8;




      // -------------------------------------------------------- //
      //      111212 현재 ScrollBar가 활성화 된 경우 ChildWindow가 
      //      가운데로 이동되지 않는 문제 있음.
      // -------------------------------------------------------- //
      // 다이얼로그를 가운데 위치 시킨다.
      this.setDlgCenterPosition();
 }