Я пытался создать окно без полей с WindowStyle="None"
, но когда я его тестировал, кажется, что в верхней части появляется белая полоса, после некоторого исследования она выглядит как "Изменить границу", вот изображение (я отмечено желтым):
После некоторых исследований в Интернете и множества сложных решений, не относящихся к xaml, все решения, которые я нашел, были с кодом в C # и множеством строк кода, я нашел косвенное решение здесь: Максимальное количество пользовательских окон теряет падение эффект тени
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
Примечание : вам нужно использовать .NET 4.5 framework, или, если вы используете более старую версию, используйте WPFShell, просто укажите ссылку на оболочку и используйте вместо нее Shell:WindowChrome.WindowChrome
.
Я использовал свойство WindowChrome
Window, если вы используете это, то белая "граница изменения размера" исчезает, но вам нужно определить некоторые свойства для правильной работы.
CaptionHeight: Это высота области заголовка (панели заголовка), которая позволяет выполнять привязку Aero и выполнять двойной щелчок, как в обычной строке заголовка. Установите значение 0 (ноль), чтобы кнопки работали.
ResizeBorderThickness: Это толщина по краю окна, где вы можете изменить размер окна. Я поставил на 5, потому что мне нравится это число, и потому что, если вы поставите ноль, его трудно изменить размер окна.
После использования этого короткого кода результат будет следующим:
И теперь, белая рамка исчезла без использования ResizeMode="NoResize"
и AllowsTransparency="True"
, также она показывает тень в окне.
Позже я объясню, как заставить работать кнопки (я не использовал изображения для кнопок) с простым и коротким кодом, я новичок, и я думаю, что я могу публиковать в codeproject, потому что здесь я не сделал найти место для размещения учебника.
Может быть, есть другое решение (я знаю, что для таких нубов, как я, есть сложные и трудные решения), но это работает для моих личных проектов.
Вот полный код
<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>
Спасибо!