主屏幕在虚拟屏幕中的位置

本文关键字:屏幕 位置 虚拟 | 更新日期: 2023-09-27 17:50:38

我可以把wpf窗口居中放在主屏幕或虚拟屏幕的某个地方。然而,我想在整个虚拟屏幕上拉伸窗口,并在窗口中放置一个网格,以填充主屏幕。下面的剪辑显示了我如何拉伸窗口,添加网格并拉伸网格以适应主屏幕大小,但是我如何确定网格的位置(即边距)?

<Window x:Class="BC.Citrium.Screensaver.Saver.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" 
        Height="{x:Static SystemParameters.VirtualScreenHeight}" 
        Width="{x:Static SystemParameters.VirtualScreenWidth}"
        Top="{x:Static SystemParameters.VirtualScreenTop}"
        Left="{x:Static SystemParameters.VirtualScreenLeft}"
        ResizeMode="NoResize" WindowStyle="None">
    <Grid Name="mainGrid"
          Height="{x:Static SystemParameters.MaximizedPrimaryScreenHeight}" 
          Width="{x:Static SystemParameters.MaximizedPrimaryScreenWidth}"
          Margin="???"
          Background="Bisque">
    </Grid>
</Window>

我可以画两个窗口,一个适合虚拟屏幕,另一个适合主屏幕,但这不是一个好方法。

主屏幕在虚拟屏幕中的位置

主屏幕的左上角总是在屏幕位置(0,0).这使得你想使用(-VirtualScreenLeft, -VirtualScreenTop)的边距。调整窗口边框宽度和窗口标题高度