통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이
· LiveSeminar  · LiveConference
WPF & Silverlight 포럼마을입니다.
  마을등급 WPF & Silverlight   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 서학수 주민 728 since 2008-07-17
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
[마을 게시판]
WPF 강좌
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리

 WPF 강좌
 Full Screen WPF Application 2008-07-23 오후 3:36:26
 kdw234  kdw234님께 메시지 보내기kdw234님을 내 주소록에 추가합니다.kdw234님의 개인게시판 가기 번호: 37392  / 읽음:4,647

안녕하세요. 게으름 부리다 이제서야 포스팅하는 김대욱입니다 ㅠ_ㅜ
프로젝트 중간발표가 다가옴에 따라 마무리 작업을 하느라 포스팅을 못했다고 하고싶지만, 그러기엔 스타를 너무 많이 했네요. -0-;
어쨌든 이번 시간에는 WPF Application을 구현할 때 쉽게 Full Screen Application을 구현하는 방법에 대해 소개해 드리겠습니다.

LayoutTransform 을 사용한 간단한 꼼수(?)와도 같은 방법인데요, 아래와 같이 함수로 구현해 보았습니다.

public bool FullScreen(Window TargetWindow)
{

if (TargetWindow == null) return false;

ScaleTransform FullScreenScale = new ScaleTransform();
FullScreenScale.ScaleX = SystemParameters.PrimaryScreenWidth / TargetWindow.Width;
FullScreenScale.ScaleY = SystemParameters.PrimaryScreenHeight / TargetWindow.Height;

FrameworkElement ChildElement = TargetWindow.Content as FrameworkElement;
ChildElement.LayoutTransform = FullScreenScale;

TargetWindow.WindowState = WindowState.Maximized;
TargetWindow.WindowStyle = WindowStyle.None;
TargetWindow.ResizeMode = ResizeMode.NoResize;

return true;
}


 

Parameter로 받는 TargetWindow라는 Window객체가 FullScreen을 하고자 하는 Window객체 입니다.
아래와 같이 Window와 관련된 Code안에 포함 시킬 경우 간단하게 사용하실 수 도 있습니다.

void Window1_Loaded(object sender, RoutedEventArgs e)
{

if (FullScreen(this) != false)
{
// ...
//
예외처리
// ...
}
}


 

몇 줄 안되지만 코드 설명을 하자면,

SystemParameter Class의 PrimaryScreenWidth와 PrimaryScreenHeight Property객체를 사용해 해상도 크기를 얻고 해상도에 TargetWindow의 현재 크기를 나누어 해상도와의 비율을 얻어 ScaleTransform을 생성합니다. TargetWindow에 포함된 컨텐츠의 LayoutTransform에 생성한 ScaleTransform을 저장 함으로서 Window에 포함된 모든 객체는 해상도의 비율에 맞게 크기가 조절됩니다. 마지막으로 TargetWindow의 State를 최대화로 설정하고 WindowStyle을 통해 테두리를 없앤 뒤 크기조정을 할 수 없도록 설정합니다.


 

밤을 새고 자기전에 올리는 글이라 말을 제대로 했는지 모르겠네요 @_@;;
질문은 메일이나 리플 주세요~~ 그럼 꿈나라 ㄱㄱ

김대욱(kdw234@naver.com) / http://whatisthat.co.kr

크리에이티브 커먼즈 라이선스Creative Commons License
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다. Creative Commons License
코멘트쓰기
  좋음   놀람   궁금   화남   슬픔   최고   침묵   시무룩   부끄럼   난감
* 코멘트는 500자 이내(띄어쓰기 포함)로 적어주세요.
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2017-서울구로-0055호 / 대표: 홍영준, 서민호
08390, 서울시 구로구 디지털로32길 30, 1211호 / TEL. 02_6719_6200 / FAX. 02-6499-1910
Copyright ⓒ (주) 데브피아. All rights reserved.