画面の右上に WPF ウィンドウを開きたいと思います。
現時点では、ウィンドウを開いて移動することでそれを実現できます (user32.dll の movewindow を使用)。ただし、このアプローチは、ウィンドウがデフォルトの場所で開き、完全に読み込まれてから右上に移動することを意味します。
ウィンドウの初期位置とサイズを指定できるように変更するにはどうすればよいですか?
画面の右上に WPF ウィンドウを開きたいと思います。
現時点では、ウィンドウを開いて移動することでそれを実現できます (user32.dll の movewindow を使用)。ただし、このアプローチは、ウィンドウがデフォルトの場所で開き、完全に読み込まれてから右上に移動することを意味します。
ウィンドウの初期位置とサイズを指定できるように変更するにはどうすればよいですか?
xaml で WindowStartupLocation、Height、Width、Left、および Top を設定するだけです。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
Height="500" Width="500"
WindowStartupLocation="Manual"
Left="0" Top="0">
</Window>
私のように、ウィンドウの位置を現在のマウス位置に設定したい人は、次のようにできます。
myWindow.WindowStartupLocation = WindowStartupLocation.Manual;
myWindow.Left = PointToScreen(Mouse.GetPosition(null)).X;
myWindow.Top = PointToScreen(Mouse.GetPosition(null)).Y;