-
WPF 새 윈도우 위치 지정C#/WPF 2018. 1. 5. 11:16
WPF에서 어떤 위도우에서 새로운 윈도우를 불러낼 때가 있습니다.
이 때 새 윈도우가 생성되는 위치는 프로그램이 첫 실행된 위치에서 생성되게 됩니다.
윈도우의 위치는 해당 윈도우의 Top 속성과 Left 속성으로 인해 결정되게 되는데(MSDN),
이 속성이 프로그램의 첫 실행시에 결정되는 것입니다.
그래서 원하는 곳에 윈도우를 띄우기 위해서는 Top과 Left 속성을 설정해주어야 합니다.
간단한 예로 호출하는 윈도우의 중앙에서 창이 생성되도록 하는 코드입니다.
123456789private void Information_Click(object sender, RoutedEventArgs e){InformationWindow informationWindow = new InformationWindow();informationWindow.Top = this.Top + (this.ActualHeight - informationWindow.Height) / 2;informationWindow.Left = this.Left + (this.ActualWidth - informationWindow.Width) / 2;informationWindow.ShowDialog();}cs 이 예제는 [프로그램 정보] 를 눌렀을 시 정보를 알려주는 윈도우가 Dialog 형태로 보여지도록 하는 함수입니다.
수치는 아래 그림처럼 Top이 현재 윈도우를 기준(this.Top)
아래(+)로 현재 윈도우의 반만큼 간 뒤, 새 윈도우의 반만큼 올라오면 됩니다.
그림
미흡한 그림이지만, 이해를 돕기 위해 그렸습니다.
이런 식으로 위치를 계산하여 원하는 위치에 새 윈도우를 띄우거나, 현재 윈도우의 위치를 옮길 수 도 있습니다.
'C# > WPF' 카테고리의 다른 글
WPF ListView(ListBox) 드래그 하는 중 스크롤 (0) 2018.01.31 WPF 한 ListView(ListBox)에서 Drag Drop (2) 2018.01.30 WPF 실행파일 위치 알아내는 법 (0) 2017.12.29 WPF 폰트(글꼴) 포함 배포 (0) 2017.12.20 WPF FontDialog (0) 2017.07.18 댓글