2013-04-20 104 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這樣的形式不會超過任務欄

相關問題