WindowChrome을 사용하여 창에서 크기 조정 그립을 사용하는 방법
전치
일반 창에서 크기 조정 그립을 활성화하려면
Window.ResizeMode
속성에 CanResizeWithGrip
를 설정하면 활성화됩니다.※예 Visual Studio 2013의 리사이즈 그립
하지만 (멋지게 틀이 없는 창을 만들기 위해서)
WhindowChrome
를 사용했을 경우, 단지 리사이즈 그립이 표시되는 것만으로, 드래그해도 윈도우 사이즈를 변경할 수 없습니다.※리사이즈할 수 없다
해결 방법
이 문제를 해결하려면
WindowChrome.ResizeGripDirection
첨부 속성을 사용합니다.놀랍게도이 속성이 첨부 된 컨트롤은 크기 조정 그립이됩니다!
(게다가 최대화 상태에서는 무효가 되는 친절 설계)
일반적인 리사이즈 그립을 재현하려면 오른쪽 하단에 배치한 컨트롤에
WindowChrome.ResizeGripDirection="BottomRight"
를 설정하는 것이 좋습니다.샘플 코드는 이런 느낌입니다.
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStyle="None"
Title="MainWindow" Height="350" Width="525">
<WindowChrome.WindowChrome>
<WindowChrome ResizeBorderThickness="1"
CaptionHeight="40"/>
</WindowChrome.WindowChrome>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1"
Background="LightGray">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1"
WindowChrome.ResizeGripDirection="BottomRight"
Background="BlueViolet"
Foreground="White"
Padding="5"
VerticalAlignment="Center"
Text="右下"/>
</Grid>
</Grid>
</Window>
이것만으로 "오른쪽 아래"라고 표시된 TextBlock이 리사이즈 그립으로 행동합니다. 코드 비하인드도 없어 매우 간단합니다.
만약 이 TextBlock 어느 한가운데에 배치되어 있어도
WindowChrome.ResizeGripDirection="BottomRight"
가 설정되어 있으면 우하의 그립 핸들로서 행동합니다.이렇게하면 이렇게됩니다.
참고
WindowChrome.ResizeGripDirection 연결된 속성
ResizeGripDirection 열거형
Reference
이 문제에 관하여(WindowChrome을 사용하여 창에서 크기 조정 그립을 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/P3PPP/items/f4858804869cb01035fe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)