【发布时间】:2021-08-06 18:40:48
【问题描述】:
我正在尝试创建一个大小为 300x300 的二次窗口。但是窗口的大小似乎并不能反映我在 XAML 中写入的内容。例如,我创建了一个全新的窗口并设置
Height="300" Width="300"
我没有更改或添加任何其他内容。该窗口在 Designer 中正确显示为 300x300。但是当我运行程序时,我得到一个 284x291 的窗口。为什么?如果我将其设置为 309x316,则窗口变为 300x300。
这确实是一个大问题,因为现在控件实际上已经越界了。我设计了这个窗口:
<Window ...
Title="MainWindow" Height="150" Width="300">
<Grid>
<StackPanel Margin="10">
<TextBox Margin="0,0,0,10" Text="Textbox"/>
<TextBox Margin="0,0,0,10" Text="Textbox"/>
<TextBox Margin="0,0,0,10" Text="Textbox"/>
<Button Content="Test"/>
</StackPanel>
</Grid>
但实际的窗口是这样的:
我是否应该将随机像素值添加到高度直到它适合窗口?我真的不明白为什么大小不同以及我应该如何处理它。
【问题讨论】:
-
您不应该真正以像素为单位设置高度/宽度。如果你这样做,它在高 DPI 屏幕上看起来会很糟糕。如果不指定 H/W 会发生什么?你的所有控件都适合吗?
-
@Neil 我有点困惑,为什么在创建新窗口时默认设置在 XAML 中。如果我不指定任何内容,则窗口为 1424x758。我真的很想知道这个数字到底是从哪里来的。
标签: c# .net wpf visual-studio xaml