Microsoft MVP성태의 닷넷 이야기
글쓴 사람
김재환 (wanakt at gmail.com)
홈페이지
첨부 파일
 

C#, WPF에서 창의 위치 정보를 얻어내기 위해서 Application.Current.MainWindow.Left과 Application.Current.MainWindow.Left을 이용하였습니다.
다음과 같이 말입니다.

WindowXPosition = Convert.ToInt32(Application.Current.MainWindow.Left);
WindowYPosition = Convert.ToInt32(Application.Current.MainWindow.Top);

그런데 윈도우11에서 디스플레이 배율이 100%가 아닌 경우, 예를 들어 150%인 경우, 위 코드로 얻어지는 Window의 위치정보가 부정확합니다.

이 문제를 해결할 방법이 없을지요?








[최초 등록일: ]
[최종 수정일: 10/8/2022]


비밀번호

댓글 작성자
 



2022-10-08 10시11분
문서를 보시면,

Window.Left Property
; https://learn.microsoft.com/en-us/dotnet/api/system.windows.window.left

해당 값이 "The position of the window's left edge, in logical units (1/96th of an inch)."라고 나옵니다. 따라서, 아래의 글에 따라 변환해 주면 될 듯합니다.

WPF/Silverlight의 그래픽 단위와 Anti-aliasing 처리를 이해하자
; https://www.sysnet.pe.kr/2/0/1281#diu2dpi
정성태
2022-10-13 08시27분
[김재환] 감사합니다!! 큰 도움이 되었습니다!!
[guest]

NoWriterDateCnt.TitleFile(s)