Window mit rundem Rahmen
-
Hallo zusammen.
Möchte gerne ein Window in WPF haben das an den Ecken abgerundet ist.
Dies war mein Versuch:
<Window x:Class="MyProject.MyWindow" Title="" Width="700" Height="500" WindowStartupLocation="CenterOwner" WindowStyle="None" Background="Transparent"> <Border Margin="6" BorderBrush="Silver" BorderThickness="2" CornerRadius="10"> ... </Border> </Window>
Nun habe ich aber ein schwarze Fenster. Wie geht das anders?
-
Für solche Sachen mußt Du den WindowChrome des Fenster manipulieren.
http://msdn.microsoft.com/de-de/library/system.windows.shell.windowchrome(v=vs.110).aspx
-
Geht auch anders...
<Window x:Class="MyProject.MyWindow"
Title=""
Width="700"
Height="500"
WindowStartupLocation="CenterOwner"
WindowStyle="None"
AllowsTransparency="True"
Background="{x:Null}">
<Border Margin="6"
BorderBrush="Silver"
BorderThickness="2"
CornerRadius="10">
...
</Border>
</Window>Dann Solltest du noch nach der "DragMove" oder so Mehtode suchen und in den Code Behind packen damit du es verschieben kannst und dann setz noch das Flag "ResizeWithGrip". Klappt bei mir wunderbar
-
1. Bei "CanResizeWithGrip" kannst du es nur unten Rechts Resizen (und die anzeige des Thumbs beachtet den Corner Radius nicht)
2. Du musst Vollbild/Normal/Minimiert selbst implementieren, dabei aber beachten wo die Startleiste ist, wie hoch diese ist und ob diese Automatisch verborgen wird
(Bei Vollbild muss auch beachten werden auf welchen Monitor sich die Applikation befindet und ob diese auch die Startleiste hat)
3. Du musst Aero Snap beachten (Hoch ziehen sowie wieder runter)
-
Ausserdem sollte man hierbei beachten das WPF in solchen Fenstern alle Elemente Deines VisualTrees nur noch auf der CPU berechnet und die Hardwarebeschleunigung somit nicht mehr greift.
-
1. Bei "CanResizeWithGrip" kannst du es nur unten Rechts Resizen (und die anzeige des Thumbs beachtet den Corner Radius nicht)
RICHTIG
2. Du musst Vollbild/Normal/Minimiert selbst implementieren, dabei aber beachten wo die Startleiste ist, wie hoch diese ist und ob diese Automatisch verborgen wird
RICHTIG, setzte ich voraus. Sollte aber nicht das Problem sein. Solltest du es noch nicht haben, dann kann ich dir was schicken
3. Du musst Aero Snap beachten (Hoch ziehen sowie wieder runter)
Wieso?! Das klappt auch so wunderbar. Also ich musste nicht viel dazu tun. Wovon ich allerdings abraten kann sind Verhalten wie man sie bei Zune kennt. Snap to Edge usw. Dort gibt es zwar fertige Sachen aber die arbeiten nicht sauber und auch nicht zuverlässig. Ich habe da so einiges ausprobiert. Ich kann davon nur abraten.
4. Ausserdem sollte man hierbei beachten das WPF in solchen Fenstern alle Elemente Deines VisualTrees nur noch auf der CPU berechnet und die Hardwarebeschleunigung somit nicht mehr greift.
Es das noch so? Wurd das nicht mit .NET4 "behoben"?
-
Was heißt in solchen Fenstern?
Sobald man den Standard verändert?
-
secondsun schrieb:
3. Du musst Aero Snap beachten (Hoch ziehen sowie wieder runter)
Wieso?! Das klappt auch so wunderbar. Also ich musste nicht viel dazu tun.Ich hatte es ausprobiert, nachdem ich den Fensterrahmen entfernt habe, konnte ich das Fenster nicht mehr mit der Maus oben an dem Desktoprand schubsen um ein Vollbild zu provozieren, wieder raus ziehen auch nicht.