我试图在WPF中创建一个自定义表单。我将windowStyle设置为None
我增加了3个按钮:
我要做的是,当用户单击第二个按钮时,如果窗体处于正常状态,则将窗体最大化为屏幕大小,否则,如果窗体处于最大化状态,则将窗体设置为初始大小。
这就是我尝试过的,但是当我第一次点击第二个按钮时,什么也不会发生。
private bool maximized = false;
private void button2_Click(object sender, RoutedEventArgs e)
{
if (!maximized)
{
this.MaxHeight = SystemParameters.PrimaryScreenHeight;
this.MaxWidth = SystemParameters.PrimaryScreenWidth;
this.WindowState = System.Windows.WindowState.Maximized;
maximized = true;
}
else
{
this.WindowState = System.Windows.WindowState.Normal;
maximized = false;
}
}我需要添加无效或者类似的东西吗?
发布于 2013-04-20 19:14:27
好吧,我解决了..。当我创建xaml文件..。我添加了一个矩形,所以表单主体将是矩形。我需要改变矩形的宽度和高度。
private void button2_Click(object sender, RoutedEventArgs e)
{
if (!maximized)
{
this.FormBody.Width = SystemParameters.WorkArea.Width; //rectangle's width
this.FormBody.Height = SystemParameters.WorkArea.Height;// rectangle's height
this.WindowState = System.Windows.WindowState.Maximized;
maximized = true;
}
else
{
this.WindowState = System.Windows.WindowState.Normal;
maximized = false;
}
}我还将SystemParameters.PrimaryScreenWidth更改为SystemParameters.WorkArea.Width,也更改为Height,这样表单就不会超过任务栏
https://stackoverflow.com/questions/16124089
复制相似问题