Я только начал использовать WindowChrome Class в окне WPF.Я заметил, что при максимизации окна оно отображается по-разному в зависимости от того, использую ли я стандартный Chrome или пользовательский Chrome.Почему?
Я дважды щелкаю по верхней части окна, чтобы максимизировать, в обоих случаях нет никакого кода позади.
Вот XAML - добавить или удалить WindowChrome. Я просто удаляюСвойство стиля.
<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>
Не развернуто, Стандартный хром - обратите внимание на границу Teal
Maximized, Standard Chrome - это отображение полной границы Teal на экране.
При использовании окна, стилизованного под WindowChrome, это выглядит не максимизированным.Вы видите границу из моего WindowChrome и границу Teal.
Вот как это выглядит в развернутом виде.Моя граница в Window Chrome исчезла, и там находится только около половины границы Teal.
Я также отмечаю, что когда я смотрю на фактическую ширину и высоту окна, при максимизации значение остается тем же.Это просто то, что отображается по-другому.