2015-07-30 2 views
0

Когда я установил «WindowState.Maximized» и «WindowStyle.None» в XAML, он работает хорошо, но в коде это не работает. TaskBar не исчезает. Кто-нибудь знает, где проблема?Как сделать приложение WPF полноэкранным в трески?

private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     if (MWindow.WindowStyle != WindowStyle.None) 
     { 
      MWindow.WindowState = WindowState.Maximized; 
      MWindow.WindowStyle = WindowStyle.None; 
     } 
     else 
     { 
      MWindow.WindowStyle = WindowStyle.SingleBorderWindow; 
      MWindow.WindowState = WindowState.Normal; 
     }   
    } 

ответ

0
if (this.WindowStyle != WindowStyle.None) 
{ 
    this.WindowStyle = WindowStyle.None; 
    this.WindowState = WindowState.Maximized; 
} 
else 
{ 
    this.WindowStyle = WindowStyle.SingleBorderWindow; 
    this.WindowState = WindowState.Normal; 
}  
+0

Спасибо за помощь, но это не работает –

+0

Уважаемый Олег: В чем проблема? я использую этот код и его нормально –

0

Вы можете сделать это с помощью обработки Активированного события или преимущественной OnActivated метод из App класса, и huckup к ContentRendered событию из главного окна. Вы также можете обращаться ContentRendered в самом окне, но учтите, что при таком подходе не нужно знать, кто на самом деле главное окно:

protected override void OnActivated(EventArgs e) 
{ 
    base.OnActivated(e); 


    Application.Current.MainWindow.ContentRendered += (s, a) => 
    { 
     if (Application.Current.MainWindow.WindowStyle != WindowStyle.None) 
     { 
      Application.Current.MainWindow.WindowState = WindowState.Maximized; 
      Application.Current.MainWindow.WindowStyle = WindowStyle.None; 
     } 
     else 
     { 
      Application.Current.MainWindow.WindowStyle = WindowStyle.SingleBorderWindow; 
      Application.Current.MainWindow.WindowState = WindowState.Normal; 
     } 
    }; 

} 
0

панель задач не исчезают, пока вы не установите разрешение:

MyWindow.Height = System.Windows.SystemParameters.PrimaryScreenHeight; 
MyWindow.Width = System.Windows.SystemParameters.PrimaryScreenWidth; 
Смежные вопросы