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

时间:2011-04-20 21:48:30

标签: c# .net wpf screen-size virtual-screen

我可以将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>

我可以绘制两个窗口,一个适合虚拟屏幕,另一个适合主屏幕,但这不是很好的方式。

1 个答案:

答案 0 :(得分:1)

主屏幕的左上角始终位于屏幕位置(0,0)。这使您想要使用的边距(-VirtualScreenLeft,-VirtualScreenTop)。调整窗口边框宽度和窗口标题高度。