2013-04-20 123 views
0

我试图在WPF中创建自定义表单。我设置了windowStyle将自定义WPF表单最大化为屏幕大小

我加3个按钮:

  1. 关闭
  2. 最大值/最小值
  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或类似的东西吗?

回答

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.PrimaryScreenWidthSystemParameters.WorkArea.Width ,也以这种方式Height这样的形式不会超过任务栏

相关问题