Uso WindowChrome per personalizzare una finestra. Quando massimizzo la finestra, i bordi sono fuori dallo schermo. Io uso il seguente codice per risolvere questo problema:Finestra WPFChrome: i bordi della finestra ingrandita sono fuori dallo schermo
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<WindowChrome.WindowChrome>
<WindowChrome CaptionHeight="50" CornerRadius="0" GlassFrameThickness="0" NonClientFrameEdges="None" ResizeBorderThickness="5" UseAeroCaptionButtons="False" />
</WindowChrome.WindowChrome>
<Grid>
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Setter Property="Margin" Value="0" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=WindowState}" Value="Maximized">
<Setter Property="Margin" Value="{x:Static SystemParameters.WindowResizeBorderThickness}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Border BorderThickness="2" BorderBrush="Blue" Background="Yellow" />
</Grid>
</Window>
Il mio problema: come posso ottenere il numero corretto di pixel, in modo che i bordi non sono fuori dello schermo.
SystemParameters.WindowResizeBorderThickness non contiene il valore corretto.
E come posso ottenere il numero corretto di pixel? – Pearson
Questo potrebbe essere utile: http://stackoverflow.com/a/24818071/7277579 – Julian