0

我有一个自定义画布,可以在上面放置控件、移动控件和调整其大小。我需要能够至少从预先确定的大小开始,然后允许重新调整大小。

我的问题是我有一个似乎没有调整大小的用户控件。我在用户控件上设置了高度和宽度(在放置时工作)。但是当控件在画布上调整大小时,视觉大小保持不变(大小手柄正在改变)。当控件调整大小时,我可以看到 Height 属性发生变化(usercontrol.height)。但同样,控件的外观保持相同的大小。

我认为用户控件上的内部容器应该绑定到 usercontrol.height ,但这似乎没有帮助。(或者也许我没有绑定权)。

在同一个画布上,例如,如果放置的控件是 Image 控件,我可以在放置时设置显式高度,并且所有内容都可以调整大小。所以它似乎是 UserControl 的事情。

那么我需要对 UserControls 做些什么来调整视觉效果吗?我应该使用明确的高度和宽度来开始吗?

谢谢你的帮助。

4

2 回答 2

2

正如您所发现的,WPF 布局系统可能会令人困惑。对布局和测量系统有扎实的了解是无可替代的。如果您打算进行大量 WPF 开发,那么值得花 20 分钟阅读有关布局系统的这篇文章,然后在Kaxaml等迭代环境中试验一段时间,直到您感到舒服为止。

该系统非常合乎逻辑。一分钱很快就会下降。很抱歉间接回答,但我认为您的问题中没有足够的信息来真正解释发生了什么。

您还可以查看HorizontalAlignmentandVerticalAlignment属性。

于 2009-02-26T09:36:50.557 回答
0

不是 WPF 专家,但我相信您需要启用自动调整大小才能实现您正在寻找的场景。这是通过将控件的高度/宽度设置为 Double.NaN 来完成的,这实际上是说“我没有特定的大小”。完成此操作后,控件应根据控件的需要调整大小以占用可用空间。

于 2009-02-26T03:18:29.517 回答