wpf - 自动调整 WPF 窗口大小

标签 wpf layout window

在 XAML 设计器中设计 WPF 对话框窗口(用户无法手动调整大小)时,窗口会自动调整大小以适合其内容,一切都很好。但是当我运行我的应用程序时,窗口变得很大并且有很多空白空间。

我知道这是 WPF 的一个“功能”,可以通过设置 SizeToContent 标记来“修复”,但是当我这样做时会出现另一个问题:例如,如果窗口包含文本框,并且用户输入的数据溢出了可见区域,窗口将拉伸(stretch)以容纳它。这种情况发生在列表框、 TreeView 等任何你能想到的东西上。

我想要的只是让 Visual Studio 找出它在设计时向我显示的理想窗口大小,然后在运行时将窗口设置为该大小,并且之后不要更改大小。看起来这应该是一件很容易做到的事情。

编辑:解决了部分问题:我在网格中设置了控件,并且列的宽度设置为“自动”,这就是所有内容都调整大小的原因。

最佳答案

使用 View 框

ViewBox 是 WPF 中非常有用的控件。如果只是缩放以使内容适合可用大小。它不会调整内容的大小,但会对其进行转换。这意味着所有文本大小和线宽也都进行了缩放。其行为与将图像或路径上的 Stretch 属性设置为 Uniform 的行为大致相同。

虽然它可用于适应任何类型的控件,但它通常用于 2D 图形,或将用户界面的可扩展部分适应屏幕区域。

<Viewbox>
<Enter your code/>
</Viewbox>

关于wpf - 自动调整 WPF 窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6079030/

相关文章:

wpf - Dispatcher 与后台线程有何不同?

wpf - WPF中的PropertyMetaData、UIPropertyMetadata、FrameworkMetaData有什么区别

html - 使用另一个布局选项而不是表格

c# - WPF 自定义 Chrome 窗口?

wpf - Window.Loaded 和 Window.ContentRendered 事件有什么区别

c++ - 如何在 OSX 上创建用于 C++ 的窗口?

c# - 与 "always on top"相反

c# - ObservableCollection (ViewModel) 中的 MVVM ObservableCollection

android - 从模板动态创建布局

wpf - XAML ColumnDefinition 中 *(星号)的含义是什么?