Zel*_*los 4 .net c# wpf xaml visual-studio
我正在尝试创建一个大小为 300x300 的二次窗口。但窗口的大小似乎没有反映我在 XAML 中写入的内容。例如,我创建了一个全新的窗口并设置
Height="300" Width="300"
Run Code Online (Sandbox Code Playgroud)
我没有更改或添加任何其他内容。该窗口在设计器中正确显示为 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>
Run Code Online (Sandbox Code Playgroud)
但实际的窗口是这样的:
我是否应该将随机像素值添加到高度,直到它适合窗口?我真的不明白为什么尺寸不同以及我应该如何处理它。
我得到一个 284x291 的窗口。为什么?
提供的尺寸 (300x300)只是建议值。
我应该添加随机像素吗?
不,您应该尽可能认为您的应用程序与像素无关。
无论如何,就您的情况而言,您可能想要制作一个类似弹出窗口的窗口,不可调整大小且大小适合内容。
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow"
ResizeMode="NoResize"
SizeToContent="Height"
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>
</Window>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
878 次 |
最近记录: |