windows10 ではウィンドウの枠がなくなりましたが、windowサイズはどう計算されてるのでしょうか
window に Width="480" Height="360"
を指定して表示したウィンドウのサイズを測るとタイトルバーも込みで、1pxのボーダーも込みだと 466 x 353 px
でした。
480 などの数値が反映されてないのかと思い、ウィンドウ表示後に、ActualWidth
や RenderSize.Width
を調べてみるとこうなりました。
ActualWidth | ActualHeight | RenderSize.Width | RenderSize.Height | |
---|---|---|---|---|
Window | 480 | 360 | 480 | 360 |
root_control | 464 | 321 | 464 | 321 |
Actual**
も RenderSize.**
も一緒で、 window で入力したとおりの数値で、XAML で Window 直下の、ルートになるコントロール(使ったのは Grid)は、464 x 321 でした。
タイトルバーの高さは 30px で、 全体のボーダーは 1px だったので、ルートのコントロールの Width に左右のボーダーの 2 を足せば実際の表示サイズの幅で、ルートのコントロールの Height に上下のボーダーの 2 とタイトルバーの 30px を足せば実際の表示サイズの高さになります。
ルートのコントロールのサイズにボーダーとタイトルバーをつければ実際のウィンドウサイズということはわかったのですが、 Window に設定した Width と Height からどうしたら実際の表示サイズ (466 x 353) が出てきたのかわかりません。
表示するウィンドウを枠なども含めて 480 x 360 などに固定したい場合はどうするものなのでしょうか?
(一応 WinForms も試してみましたが、設定したウィンドウサイズと実際の値は違ってました)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/04 13:59
2016/08/04 22:04
2016/08/05 13:58