Подтвердить что ты не робот

Как заставить строку заголовка исчезнуть в окне 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>
4b9b3361

Ответ 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, либо в коде. Это должно сделать трюк