在WPF开发过程中碰到一个需求,要求保证窗口大小不变,即便是双击 titlebar 也不能改变窗口大小和位置。要实现这样的效果,需要执行如下步骤:
1,分别设置窗口的 Width/MaxWidth/MinWidth, Height/MaxHeight/MinHeight的为相同的值,设置窗口的 ResizeMode 为 NoResize,设置初始状态为 Normal;
2,让窗口响应 WindowStateChanged 事件:StateChanged="OnWindowStateChanged",响应函数如下:
private void OnWindowStateChanged(object sender, EventArgs e) { if (WindowState != WindowState.Normal) { WindowState = WindowState.Normal; } }