wake-up-neo.net

Wie kann die Titelleiste im WPF-Fenster ausgeblendet werden?

Ich weiß, dass das schon früher gefragt wurde, aber ich habe Antworten versucht:

und auch nicht funktionieren, der Text in der Titelleiste befindet sich dort und ich kann mein Raster nicht an den oberen Rand des Fensters verschieben, sodass das Raster das gesamte Fenster belegt. Ich bin fest damit beschäftigt.

Die XAML für das Fenster:

<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>
29
Stewart Stoakes

Sie müssen die WindowStyle-Eigenschaft auf None setzen, wie in diese Antwort skizziert.

<Window ...
    WindowStyle="None"
    WindowState="Maximized"
    WindowStartupLocation="CenterScreen">

Sie können auch AllowsTransparency="True" und Background="Transparent" einstellen, wenn Sie den gesamten Fensterrahmen ausblenden und einen eigenen erstellen möchten.

Update basierend auf Code, der zu Frage hinzugefügt wurde

Der Code, den Sie gerade gepostet haben, funktioniert gut für mich. Es gibt keine Titelleiste, obwohl ein Rahmen zur Größenänderung vorhanden ist, da Sie ResizeMode="CanResize" angegeben haben.

Sie haben etwas Leerzeichen am oberen Rand Ihres Fensters, aber das liegt daran, dass Sie einen oberen Rand für Ihren Slider und Ihre TextBox festgelegt haben (Wenn Sie einen Rand mit 4 Zahlen angeben, wird links, oben, rechts, unten, also die zweite Zahl angegeben Ihre Top Margin)

69
Rachel
<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>

Der obige Code funktioniert gut für Ihre Frage "Wie kann die Titelleiste im WPF-Fenster ausgeblendet werden?"

9
isakavis

versuchen Sie, die Höhe der Beschriftung auf 0 zu setzen

<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>
0
Iván Boros

Versuchen Sie, TitleBarHeight = "0" einzustellen.

0
Sindhu M