16 Stimmen

Nicht größenveränderbare Fenster mit windowStyle=None

Im Grunde möchte ich ein Fenster erstellen, das wie folgt aussieht: Alt-Text http://www.thex9.net/screenshots/2009-10-15_1347.png

Das Fenster sollte jedoch nicht in der Größe veränderbar sein (wie auf dem Screenshot), sondern muss den Glasrand beibehalten. Die XAML für das Fenster im Screenshot ist wie folgt:

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="WpfApplication1.MainWindow"
    x:Name="Window" Title="MainWindow" WindowStyle="None">    
 <Grid x:Name="LayoutRoot"/>
</Window>

Ist es möglich, ein Fenster zu erstellen, das ähnlich aussieht wie das in meinem Screenshot, aber nicht in der Größe veränderbar ist? Für jede Hilfe wäre ich sehr dankbar.

30voto

Wojciech Papaj Punkte 411

Wahrscheinlich können Sie das gewünschte Ergebnis erzielen, indem Sie: ResizeMode=
XAML-Objekteigenschaft, die die folgenden Zustände annehmen kann:

  • NoResize - Ein Fenster kann nicht in der Größe verändert werden. Die Schaltflächen Minimieren und Maximieren werden in der Titelleiste nicht angezeigt.
  • CanMinimize - Ein Fenster kann nur minimiert und wiederhergestellt werden. Die Schaltflächen Minimieren und Maximieren werden beide angezeigt, aber nur die Schaltfläche Minimieren ist aktiviert.
  • CanResize - Ein Fenster kann in der Größe verändert werden. Die Schaltflächen Minimieren und Maximieren werden angezeigt und aktiviert.
  • CanResizeWithGrip - Ein Fenster kann in der Größe verändert werden. Die Schaltflächen Minimieren und Maximieren werden angezeigt und sind aktiviert. In der rechten unteren Ecke des Fensters wird ein Griff zur Größenänderung angezeigt.

22voto

Drew Marsh Punkte 32833

Eine Möglichkeit, eine feste Größe des Fensters unter Beibehaltung des Rahmens zu erreichen, besteht darin, die Eigenschaften Min[Breite|Höhe] und Max[Breite|Höhe] auf denselben Wert zu setzen. Der Rahmen zeigt weiterhin den Größenänderungscursor an, aber der Benutzer kann die Größe des Fensters nicht ändern.

Wenn Sie sich daran stören, dass der Rand immer noch anzeigt, dass er in der Größe veränderbar ist, können Sie als nächsten Schritt den ResizeMode="NoResize" einstellen, aber dann müssen Sie anfangen, Ihr eigenes Aero-Glas zu zeichnen, wenn Sie die Glasränder beibehalten wollen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X