2016-08-24 5 views
-1

Hallo Ich mag Fenster in WPF maximieren und ich verwende unten Linien:Fenster maximieren und wiederherstellen normal in wpf

private void mnu_maximize_Click(object sender, RoutedEventArgs e) 
{ 
    if (main.WindowState == System.Windows.WindowState.Maximized) 
     main.WindowState = System.Windows.WindowState.Normal; 
    main.WindowState = System.Windows.WindowState.Maximized; 

} 

Aber das Problem ist, wenn ich erneut auf für die Wiederherstellung Fenster in dem Normalzustand es nicht funktioniert und es ist im maximierten Zustand fest.
Also, wie kann ich das beheben?

+2

Seien Sie sich bewusst, sonst nie unterschätzen ein "wenn", die keine "sonst" hat –

+1

In diesem http://stackoverflow.com/questions/2125066/is-it-bad-practice-to-use-an-if -Statement-ohne-Klammern – iamCR

Antwort

4

einen anderen Teil hinzufügen:

if (main.WindowState == System.Windows.WindowState.Maximized) 
    main.WindowState = System.Windows.WindowState.Normal; 
else 
    main.WindowState = System.Windows.WindowState.Maximized; 

Updates:

Im gegebenen Code, die bedingte Anweisung (if) nichts tut, in jedem Fall der main.WindowState wird Maximized eingestellt werden. Deshalb habe ich dir gesagt, dass du dort ein anderes vorstellen solltest.

+0

Danke, es hat funktioniert, aber warum? –

+2

@komeilshahmoradi: In dem gegebenen Code macht die bedingte Anweisung ('if') nichts, in jedem Fall wird' main.WindowState' auf 'maximized' gesetzt. Deshalb habe ich dir gesagt, dass du dort ein anderes vorstellen solltest. –

Verwandte Themen