Próbowałem stworzyć okno bez obramowania, WindowStyle="None"
ale kiedy je testowałem, wydaje się, że pojawia się biały pasek na górze, po kilku badaniach wydaje się, że jest to "Ramka zmiany rozmiaru", oto obraz (zauważyłem na żółto):
Po kilku poszukiwaniach w Internecie i wielu trudnych rozwiązaniach innych niż XAML, wszystkie rozwiązania, które znalazłem, zawierały kod w C # i wiele linii kodu, znalazłem pośrednio rozwiązanie tutaj: Maksymalne niestandardowe okno traci efekt cienia
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
Uwaga : Musisz użyć platformy .NET 4.5 lub, jeśli używasz starszej wersji, użyj WPFShell, po prostu odwołaj się do powłoki i użyj Shell:WindowChrome.WindowChrome
zamiast niej.
Użyłem WindowChrome
właściwości Window, jeśli używasz tego, białe "obramowanie zmiany rozmiaru" znika, ale musisz zdefiniować niektóre właściwości, aby działały poprawnie.
CaptionHeight: Jest to wysokość obszaru podpisu (paska nagłówka), który umożliwia przyciąganie Aero, zachowanie dwukrotnego kliknięcia, jak w przypadku zwykłego paska tytułu. Ustaw to na 0 (zero), aby przyciski działały.
ResizeBorderThickness: Jest to grubość na krawędzi okna, w której możesz zmienić rozmiar okna. Ustawiłem na 5, ponieważ podoba mi się ta liczba i ponieważ jeśli ustawisz zero, trudno jest zmienić rozmiar okna.
Po użyciu tego krótkiego kodu wynik jest taki:
A teraz biała ramka zniknęła bez użycia, ResizeMode="NoResize"
a AllowsTransparency="True"
także pokazuje cień w oknie.
Później wyjaśnię jak sprawić, aby przyciski działały (nie użyłem obrazków do przycisków) w prosty i krótki kod, jestem nowy i myślę, że mogę pisać do codeproject, bo tutaj nie znalazłem miejsca aby opublikować samouczek.
Może jest inne rozwiązanie (wiem, że są trudne i trudne rozwiązania dla noobów takich jak ja), ale to działa w przypadku moich osobistych projektów.
Oto pełny kod
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Concursos"
mc:Ignorable="d"
Title="Concuros" Height="350" Width="525"
WindowStyle="None"
WindowState="Normal"
ResizeMode="CanResize"
>
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
<Grid>
<Rectangle Fill="#D53736" HorizontalAlignment="Stretch" Height="35" VerticalAlignment="Top" PreviewMouseDown="Rectangle_PreviewMouseDown" />
<Button x:Name="Btnclose" Content="r" HorizontalAlignment="Right" VerticalAlignment="Top" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
<Button x:Name="Btnmax" Content="2" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,0,35,0" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
<Button x:Name="Btnmin" Content="0" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,0,70,0" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
</Grid>
Dziękuję Ci!