【问题标题】:Position of Primary Screen in Virtual Screen主屏幕在虚拟屏幕中的位置
【发布时间】:2011-04-20 21:48:30
【问题描述】:

我可以在主屏幕或虚拟屏幕的某个位置将 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>

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢,你是对的。右边距是“SystemParameters.VirtualScreenWidth + SystemParameters.VirtualScreenLeft - SystemParameters.PrimaryScreenWidth”,底部是相应的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2021-12-22
    相关资源
    最近更新 更多