Как заставить строку заголовка исчезнуть в окне WPF?
Я знаю, что об этом уже спрашивали, но я попробовал ответы:
и ни одна из них не работает, текст в строке заголовка находится там, и я не могу переместить мою сетку вверх в верхнюю часть окна, чтобы сетка занимала все окно. Я застрял на этом.
XAML для окна:
<Window x:Class="PlayWPF.TimerSlideWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="" Height="95" Width="641" WindowStyle="None"
ResizeMode="CanResize" AllowsTransparency="False">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Slider Height="42" HorizontalAlignment="Left" Margin="10,14,0,0"
Name="sldTime" VerticalAlignment="Top" Width="495" />
<TextBox FontSize="18" Height="29" HorizontalAlignment="Left"
Margin="510,10,0,0" Name="txtTime" Text="00:00:00"
TextAlignment="Center" VerticalAlignment="Top" Width="93" />
</Grid>
</Window>
Ответы
Ответ 1
Вам нужно установить свойство WindowStyle
в None
, как я изложил в этот ответ
<Window ...
WindowStyle="None"
WindowState="Maximized"
WindowStartupLocation="CenterScreen">
Вы также можете установить AllowsTransparency="True"
и Background="Transparent"
, если вы хотите скрыть весь оконный фрейм и создать свой собственный.
Обновление на основе кода, добавленного к вопросу
Код, который вы только что опубликовали, отлично работает для меня. Нет заголовка, хотя есть граница Resize, потому что вы указали ResizeMode="CanResize"
У вас есть пробелы в верхней части окна, но это связано с тем, что вы указали верхнюю маржу для своего ползунка и текстового поля (при указании маржи с четырьмя номерами она идет влево, вправо, вправо, снизу, так что 2-й номер - это верхняя маржа)
Ответ 2
<Window x:Class="BorderlessWindow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
WindowStyle="None"
BorderBrush="Black"
BorderThickness="5"
AllowsTransparency="True"
>
<Grid>
<TextBlock Text="Title Less Window" HorizontalAlignment="Center" FontSize="15" Margin="10" />
</Grid>
</Window>
Вышеупомянутый код отлично подходит для вашего вопроса "Как заставить панель заголовка исчезнуть в окне WPF?"
Ответ 3
Попробуйте установить TitleBarHeight = "0"
Ответ 4
попробуйте установить высоту заголовка на 0
<Window x:Class="BorderlessWindow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
WindowStyle="None"
WindowStartupLocation="CenterScreen"
ResizeMode="CanResize">
//remove the border, glassframe, but keep the ability to resize
<WindowChrome.WindowChrome>
<WindowChrome GlassFrameThickness="0" CornerRadius="0" CaptionHeight="0"/>
</WindowChrome.WindowChrome>
<Grid>
<TextBlock Text="Resizeable Window" HorizontalAlignment="Center" FontSize="30"/>
</Grid>
Ответ 5
Думаю, вам следует играть с ShowTitleBar = "False" и вернуться в любом месте приложения, либо в файле Xaml, либо в коде. Это должно сделать трюк