【发布时间】:2013-05-23 06:12:44
【问题描述】:
在我的应用程序中,单击按钮时,我将 Stackpanel 可见性设置为 Collapsed,然后再次单击另一个按钮设置回 Visible。
这一切都很好。但是,当该堆栈面板可见时,我的窗口未位于中心。
堆栈面板可见性更改时如何自行调整..
更改 StackPanel 的可见性后,我尝试调用此函数。
private void CenterWindowOnScreen()
{
double screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
double screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
double windowWidth = this.Width;
double windowHeight = this.Height;
this.Left = (screenWidth / 2) - (windowWidth / 2);
this.Top = (screenHeight / 2) - (windowHeight / 2);
}
但它没有正确对齐。如何做到这一点??
【问题讨论】:
-
不确定我是否理解正确,但是如果您想将窗口定位到屏幕的中心,您可以使用 WindowStartupLocation: WindowStartupLocation="CenterScreen"
-
在表单启动期间工作正常。但在显示表单后,我隐藏了堆栈面板。那时表格宽度会减小。隐藏堆栈面板后如何将其对齐到中心
-
您的重新定位代码工作正常。当您调用它时,这可能是一个问题,因为
Window到那时我不会调整大小。用户可以调整您的Window的大小吗?如果没有,请尝试Window的SizeChanged事件并阅读this。
标签: c# wpf visual-studio-2010