WPF 从下到上调整窗口大小

Posted

技术标签:

【中文标题】WPF 从下到上调整窗口大小【英文标题】:WPF Resize Window from Bottom to top 【发布时间】:2015-04-15 06:00:22 【问题描述】:

我真的需要这个问题的帮助,我到处搜索,但似乎找不到答案。我有一个高度设置为 66 的窗口。在我后面的代码中,窗口底部有一个按钮。当用户点击这个按钮时(this.height = 400),窗口的大小是从下往上增长的。但它从左上角生长。请帮忙:(

【问题讨论】:

【参考方案1】:

我认为您需要更改控件在窗口中的锚定方式。它们将默认锚定在左上角,因此当窗口大小发生变化时,控件不会移动。如果将a控件锚定到底部,那么当窗口变大时,控件会相应地向下移动。

【讨论】:

【参考方案2】:

您的描述听起来好像您想将 WPF 窗口的 Top 属性值减少与增加其 Height 的值相同的值,或者更确切地说是其 ActualHeight

WPF 中还有一个Expander 控件,您可能会发现它很有用。

【讨论】:

谢谢你们的回答。但我认为我应该更好地解释我的问题。我有一个初始高度为零的网格。单击按钮时,我希望此网格的高度向上增长。但它现在增长的方向是向下的。底部(按钮所在的位置)应保持在同一位置。只是网格高度应该向上增加。 @user2799177:我想说您观察到的行为是设计使然:动态更改某事物的Height 不会自动影响其Top 值。因此,如果您想将生成的“底部”保持在以前的位置,则需要在增加 Height 值后立即减少 Top 值,因为“底部”是 Top 的结果+ ActualHeight @user2799177 someone's answer 上的 cmets 并不是提供有关 您的问题 的更多详细信息的最佳场所。尝试编辑您的问题以包含这些额外信息;一些 XAML 也会很有用,因为您的问题实际上是关于 WPF 布局的。【参考方案3】:

谢谢大家的回答。我终于通过使用弹出窗口解决了这个问题。我将它连接到窗口的顶部,当它的高度增加时,它从下向上增加。

弹出文本

【讨论】:

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

WPF窗口不允许调整大小

WPF DataGrid窗口调整大小不会调整DataGridColumns的大小

WPF 使用触发器让窗口无法最大化且同时可以调整窗口大小

WPF的窗口中的所有内容随窗口大小变化而同步变化

如何使wpf数据网格填充所有可用空间并使用窗口调整大小?

WPF:如何在弹出窗口中自动调整 WebBrowser 的大小?