2

プライマリ画面または仮想画面のどこかに 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 つは仮想スクリーンに合わせて、もう 1 つはその上にプライマリ スクリーンに合わせて 2 つのウィンドウを描画できますが、それは良い方法ではありません。

4

1 に答える 1

2

プライマリ スクリーンの左上隅は、常にスクリーン位置 (0, 0) にあります。これにより、使用したいマージンが作成されます(-VirtualScreenLeft、-VirtualScreenTop)。ウィンドウの境界幅とウィンドウ キャプションの高さを調整します。

于 2011-04-20T23:24:54.957 に答える