WPF 窗口大小问题

Posted

技术标签:

【中文标题】WPF 窗口大小问题【英文标题】:WPF Window size Issues 【发布时间】:2012-05-28 08:52:08 【问题描述】:

我希望我的应用适合所有屏幕尺寸,因此从 Window 标签到所有容器/面板我都设置了 Width="Auto"。在窗口标签中指定了 MinWidth 和 MinHeight。 尽管如此,我的窗口显示的尺寸比要求的还要大。用我的孩子窗口我已经设置了

Height="Auto" Width="Auto" MinHeight="300" MinWidth="650"
     WindowStartupLocation="CenterOwner" Loaded="Window_Loaded"  >

<StackPanel Orientation="Vertical" Width="650">

StackPanel 是所有面板的父/根。如您所见,stackPanel 的大小声明为 650,但加载时窗口的宽度为 1440。

我通过 ShowDialog() 从父窗口调用这个子窗口。父窗口也有同样的问题。

谁能帮我知道这里出了什么问题!为什么它不遵守提到的尺寸?

【问题讨论】:

【参考方案1】:

将 Window 的属性 .SizeToContent 设置为“WidthAndHeight”。

【讨论】:

这样宽度也超出了要求。我尝试在所有面板上添加一个 ViewBox,但没有区别。 我删除了 ViewBox 并添加了 SizeToContent ,它显示了所需的屏幕大小。我有 1 个表单,对于 8" 屏幕可能会变大。所以,如何将滚动条添加到主面板或任何其他方式来处理相同的问题。我想给 MaxWidth 和 MaxHeight 但这又与不同的屏幕尺寸不同。怎么能这个最好处理? 您可以将其包装在 ScrollViewer 中,并将 Horizo​​ntalScrollBarVisibility 和 VerticalScrollBarVisibility 设置为 Auto(或者您想要的任何设置) 感谢 KDiTraglia,添加 SizrToContent、Viewbox 和 ScrollViewer 得到了我想要的结果。这对于任何屏幕尺寸和分辨率都是可操作的。非常感谢。

以上是关于WPF 窗口大小问题的主要内容,如果未能解决你的问题,请参考以下文章

WPF 从下到上调整窗口大小

C# wpf 想让控件随着窗口大小变化而变化

如果它比 WPF XAML 中的窗口大,如何缩放字体大小以适应窗口?

.NET WPF 记住会话之间的窗口大小

当我创建 WPF 窗口时,Windows 窗体窗口会更改其大小

WPF:Scrollviewer 不将内容限制为窗口大小