Положение основного экрана на виртуальном экране

Я могу центрировать окно 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, 0). Что делает поле, которое вы хотите использовать (-VirtualScreenLeft, -VirtualScreenTop). С регулировкой ширины границы окна и высоты заголовка окна.

Другие вопросы по тегам