MainWindow에는 다른 WPF 창을 열 수있는 버튼이 있습니다. 이 윈도우가 MainWindow의 오른쪽에 항상 열리길 바랍니다.두 번째 창 위치 지정 WPF
어떻게하면됩니까? MainWindow의 너비가 변경 되어도 MainWindow에 어떤 버튼이 있는지에 따라 MainWindow의 크기를 변경할 수있는 다양한 버튼이 있어도이 작업이 필요합니다.
MainWindow에는 다른 WPF 창을 열 수있는 버튼이 있습니다. 이 윈도우가 MainWindow의 오른쪽에 항상 열리길 바랍니다.두 번째 창 위치 지정 WPF
어떻게하면됩니까? MainWindow의 너비가 변경 되어도 MainWindow에 어떤 버튼이 있는지에 따라 MainWindow의 크기를 변경할 수있는 다양한 버튼이 있어도이 작업이 필요합니다.
다른 창에 대한 참조가있는 경우 새 창을 원하는 위치를 계산할 수 있습니다.
ActualWidth 또는 Width 속성에 액세스하여 Left 및 Top 속성과 너비에 액세스하여 다른 창 위치를 가져옵니다.
이제 Left + Width + Some spacing을 추가하여 새 창 위치를 계산할 수 있습니다.
체크 아웃 여기 Left 속성에 대한 설명서 : http://msdn.microsoft.com/en-us/library/system.windows.window.left.aspx
다른 사람이 이와 비슷하게 행동한다.
당신은 속성 또는 코드에서 두 번째 창 수동 시작 위치를 설정해야합니다
로드 이벤트에WindowStartupLocation = WindowStartupLocation.Manual;
가,하여 SizeChanged, 첫 번째 창의 LocationChanged, 당신은 다음과 같이 두 번째 윈도우의 위치를 조정해야합니다
public void AdjustPosition()
{
window2.Left = Application.Current.MainWindow.Left + Application.Current.MainWindow.ActualWidth;
window2.Top = Application.Current.MainWindow.Top;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
AdjustPosition();
}
private void MainWindow_SizeChanged(object sender, SizeChangedEventArgs e)
{
AdjustPosition();
}
void MainWindow_LocationChanged(object sender, EventArgs e)
{
AdjustPosition();
}
감사합니다. –