2017-09-07 1 views
1

Ich lese einige Antworten auf, wie man die Maximierung einer WPF-App verhindern kann, und die meisten von ihnen funktionieren.Verhindern Maximieren von Task-Manager (WPF-Anwendung)

 ResizeMode="CanMinimize" 

funktioniert ok.

ist jedoch ein Benutzer noch in der Lage zu dem Task-Manager zu gehen und ein Fenster von dort zu maximieren:

enter image description here

und das verursacht einige Probleme.

Eine vorgeschlagene Lösung ist StateChanged Ereignis zu hören, etwa so:

this.StateChanged += new System.EventHandler((sender, eventArgs) => 
{ 
    if (this.WindowState == System.Windows.WindowState.Maximized) 
    { 
     this.WindowState = System.Windows.WindowState.Normal; 
    } 
} 

funktioniert das auch, aber es gibt wie eine ‚blickering‘ Animation, Fenster links Ecke nach oben geht, und dann sofort wieder in der Es ist die ursprüngliche Position. In gewisser Weise funktioniert es, aber es ist nicht schön in den Augen.

Gibt es eine Möglichkeit, Zustandsänderung Ereignis zu behandeln, bevor es ausgeführt wird? Etwas wie BeforeStateChange

+0

Ich denke, dass ohne P-aufrufen dies unmöglich sein kann:/ – sTrenat

+0

Sorry für nicht hilfreich Kommentare veröffentlichen, aber ich wouldn‘ Ich bin wirklich besorgt darüber, "nett in den Augen" zu sein, wenn der Benutzer große Anstrengungen unternimmt (TaskManager), um das beabsichtigte Layout zu überwinden. Sie sollten eher entscheiden, ob der Benutzer falsch versucht, Ihr Fenster zu maximieren (Hinweis: der Benutzer ist nie falsch, aber oft ahnungslos!) Oder wenn Sie falsch entscheiden, eine Fenstergröße, die nicht gut mit den Benutzern spielt Windows-Einstellung von extra großen Schriftarten. – grek40

Antwort

0

Eine mögliche Lösung könnte explizit die maximale Fenstergröße festlegen. Da CanMinimize Modus bedeutet, dass Sie das Fenster nicht die Größe, können Sie beschränken nur die Größe, es ist so:

<Window 
    MaxHeight="{Binding Height, RelativeSource={RelativeSource Self}}" 
    MaxWidth="{Binding Width, RelativeSource={RelativeSource Self}}"> 
    <!-- ... --> 
</Window> 
Verwandte Themen