codememo

WPF 창에서 제목 표시줄을 사라지게 하는 방법은 무엇입니까?

tipmemo 2023. 4. 28. 20:36
반응형

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>

설정해야 합니다.WindowStyle에 대한 재산.None 답변에서 요약한 것처럼

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

설정할 수도 있습니다.AllowsTransparency="True"그리고.Background="Transparent"전체 창틀을 숨기고 자신만의 창틀을 구축하려는 경우.

질문에 추가된 코드를 기반으로 업데이트

당신이 방금 올린 코드는 저에게 잘 맞습니다.지정했기 때문에 크기 조정 테두리가 있지만 제목 표시줄은 없습니다.ResizeMode="CanResize"

창 위쪽에 공백이 있지만 슬라이더 및 텍스트 상자의 위쪽 여백을 지정했기 때문입니다(4개의 숫자로 여백을 지정하면 왼쪽, 위쪽, 오른쪽, 아래쪽으로 이동하므로 두 번째 숫자가 위쪽 여백입니다).

<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 창에서 제목 표시줄을 사라지게 하는 방법"이라는 질문에 잘 작동합니다.

캡션 높이를 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>

<Window  WindowStyle="None" >

창의 제목 표시줄을 제거합니다.

드래그 이동할 수 있는 창에 머리글을 추가하려면 머리글에 대한 그리드 행을 만듭니다.

여기에 이미지 설명 입력

이것은 내가 페이지의 머리글을 만드는 데 사용한 코드입니다.

목청을 돋보기

    <Grid Grid.Row="0" Background="#FF486A9B"    MouseDown="Window_MouseDown"  >

c#

   private void Window_MouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.ChangedButton == MouseButton.Left)
            this.DragMove();
    }





  

제목 표시줄 설정 시도높이="0"

ShowTitleBar="False"로 재생한 후 Xaml 파일이나 뒤에 있는 코드로 응용 프로그램 내의 아무 곳이나 재생해야 한다고 생각합니다.그것이 효과가 있어야 해요.

언급URL : https://stackoverflow.com/questions/15413263/how-to-make-title-bar-disappear-in-wpf-window

반응형