我正在尝试在WPF中创建自定义表单。我将 windowStyle 设置为无
我添加了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;
}
}
我需要添加Invalidate或类似内容吗?
答案 0 :(得分:1)
好的,我解决了.. 当我创建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
,所以这样形式不会超过任务栏