programing

WindowStyle=None으로 WPF 창 상단에 있는 흰색 띠를 제거하는 방법

elecom 2023. 4. 18. 21:43
반응형

WindowStyle=None으로 WPF 창 상단에 있는 흰색 띠를 제거하는 방법

Window Style=None으로 WPF 창 상단에 있는 흰색 스트립을 제거할 수 있습니까?스크린샷에 XAML 및 창이 표시됩니다.

여기에 이미지 설명 입력

흰색으로 표시된 것은 크기 변경 테두리입니다.이 설정을 통해 윈도우 크기를 조정할 수 있습니다.ResizeMode="CanResizeWithGrip" AllowsTransparency="True"

크기를 전혀 조정하지 않으려면 다음과 같이 하십시오.ResizeMode="NoResize"테두리는 표시되지 않지만 크기를 조정할 수 없습니다.

<Window x:Class="HandsOnSolution.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" Background="Green" WindowStyle="None" ResizeMode="CanResizeWithGrip" AllowsTransparency="True">
    <Grid>
    </Grid>
</Window>

편집

@devuxer의 좋은 점은 드래그에 관심이 있다면 이 코드를 윈도 마우스 다운 이벤트에 추가할 수 있다는 것입니다.

<Window MouseLeftButtonDown="Window_MouseLeftButtonDown"/>

//code behind
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    DragMove();
}

저는 며칠 전부터 해결책을 찾고 있었습니다.간단히 말하면 이 링크는 제 질문에 대한 답을 제시해 주었습니다.

마법을 부린 코드 조각은 다음과 같습니다.

<Setter Property="WindowChrome.WindowChrome">
    <Setter.Value>
        <WindowChrome CaptionHeight="0"
            CornerRadius="2"
            GlassFrameThickness="0"
            NonClientFrameEdges="None"
            ResizeBorderThickness="3"/>
    </Setter.Value>
</Setter>

방금 커스텀 윈도 스타일에 위의 속성 설정기를 추가했습니다.

도움이 됐으면 좋겠다:)

매우 단순화된 코드이며, 한 가지 속성에서만 작동합니다.

<WindowChrome.WindowChrome>
    <WindowChrome CaptionHeight="0"/>
</WindowChrome.WindowChrome>

이 코드를 추가했습니다.

<WindowChrome.WindowChrome>
    <WindowChrome GlassFrameThickness="0,0,0,1" CornerRadius="0" />
</WindowChrome.WindowChrome>

안에서.<Window> paste here <Window/>도움이 되었습니다:)

언급URL : https://stackoverflow.com/questions/36631165/how-to-remove-white-strip-on-top-of-wpf-window-with-windowstyle-none

반응형