Окно WPF с пользовательским WindowChrome максимизирует по-разному
Я только начал использовать WindowChrome Class в окне WPF. Я заметил, что при максимизации окна оно отображается по-разному в зависимости от того, использую ли я стандартный Chrome или пользовательский Chrome. Зачем?
Я дважды щелкаю по верхней части окна, чтобы максимизировать, в обоих случаях нет никакого кода позади.
Вот XAML - чтобы добавить или удалить WindowChrome, я просто удаляю свойство Style.
<Window
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:IPSurfer"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow"
Width="800"
Height="450"
Style="{DynamicResource ResourceKey=StandardStyle}"
WindowStartupLocation="CenterScreen"
mc:Ignorable="d">
<!-- Style="{DynamicResource ResourceKey=StandardStyle}" -->
<Window.Resources>
<Style x:Key="StandardStyle" TargetType="{x:Type local:MainWindow}">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome
CaptionHeight="50"
GlassFrameThickness="0"
ResizeBorderThickness="5" />
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MainWindow}">
<Grid>
<Border BorderBrush="PeachPuff" BorderThickness="5">
<Grid>
<ContentPresenter Content="{TemplateBinding Content}" />
<TextBlock
Margin="10,8,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Text="This is the new title" />
</Grid>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Border BorderBrush="Teal" BorderThickness="5">
<Grid>
</Grid>
</Border>
</Grid>
Не развернуто, Стандартный Chrome - обратите внимание на границу Teal
Maximized, Standard Chrome - показывает полную границу Teal на экране.
С окном, стилизованным под WindowChrome, это выглядит не максимизированным. Вы видите границу из моего WindowChrome и границу Teal.
Вот как это выглядит максимально. Моя граница в Window Chrome исчезла, и только около половины границы Teal там.
Я также отмечаю, что когда я смотрю на фактическую ширину и высоту окна, при максимизации значение одинаково. Это просто то, что отображается по-другому.