Microsoft MVP성태의 닷넷 이야기
듀얼 모니터 환경에서 wpf 프로그램 크기 변경 [링크 복사], [링크+제목 복사],
조회: 11953
글쓴 사람
kss
홈페이지
첨부 파일
 

안녕하세요, 구글링 열심히 하다가 결국 막혀서 질문하러 오게 됐습니다

UHD(3840x2160) 모니터와 FHD 모니터(1920x1080 or 1920x1200)를 사용하고 있습니다

UHD 모니터(자체 스케일링 사용중)에서 프로그램을 실행시켜서 FHD 모니터로 넘겨주면

프로그램의 전체적인 크기가 변경되지 않고 넘어갑니다

Nvidia 제어판에서 사이즈를 변경하여 보내줬지만 UHD는 60Hz, FHD는 30Hz(인터레이스)라서 프로그램 창이 떨리는 현상이 발생합니다

해서, 코드상으로 리사이즈가 필요할 것 같아서 정보를 찾고 있었습니다


프로젝트는 WPF로 구성되어 있습니다


DPIAwareness가 필요할 것 같아서 샘플 라이브러리를 찾아 시도해보는 중이였습니다만,

DPI에 따라 변경한다 하더라도 해상도에 따라서도 변경이 되어야 할 것 같아서요


locationchanged 이벤트를 이용해서 커서의 x,y 좌표값으로 모니터 변경 여부를 확인하고 해상도에 맞춰서 리사이즈 하자는 동료의 말도 있고

이 방법을 생각하지 않은 건 아니지만, 더 좋은 방법이 있을 거 같아서요


1. 해상도와 DPI배율이 서로 다른 모니터를 사용하는 상황
2. 해당 환경에서 프로그램(UI)를 전체적으로 리사이즈 하는 방법
3. 해당 이벤트에 대한 체크 방법

정도가 될 것 같습니다

어떠한 방법이 있을지 고견을 여쭙고 싶습니다









[최초 등록일: ]
[최종 수정일: 1/26/2022]


비밀번호

댓글 작성자
 



2022-01-26 04시10분
아래의 글이 도움이 될 듯합니다.

Window does not resize properly when moved to larger display
; https://stackoverflow.com/questions/22103947/window-does-not-resize-properly-when-moved-to-larger-display

개인적으로, 그런 환경이 없어서 테스트를 못 하는군요. ^^;
정성태
2022-01-26 04시17분
[kss] 언뜻 보기에는 DPI 관련만 있는 것 같은데 참고하여 테스트 해보겠습니다 감사합니다
[guest]

NoWriterDateCnt.TitleFile(s)