0

我正在考虑创建一个面板,该面板将所有子项包裹在 ViewBox 内,以便可以将它们缩小到某个统一的大小。

我不确定这是否可行,但我想我会问。我不确定这是否可能的原因是 Panel 没有与它们关联的任何 xaml。他们用代码测量和安排孩子。有小费吗?


在不够清楚之后,我想我会更具体:

我想要一个小组,因为我想安排和衡量我的孩子。

  1. 该度量找到所有子元素的平均高度/宽度。
  2. 排列将它们放入网格状图案并将它们缩放到平均高度/宽度。我不希望它们被限制,我希望它们适当地放大或缩小。

我已经让 measureoverride 函数可以找到平均高度/宽度,但我不知道如何在我的安排覆盖中缩放它们。

4

2 回答 2

2

您尚未完全指定您希望面板如何工作,因此我无法为您提供示例面板,但我可以为您指出一个与您想要做的事情类似的工作面板:

在示例中,您可以看到我们可以Viewbox通过自己缩放面板的子项来模拟 a。正如我所提到的,您希望如何扩展它们取决于您。

于 2011-04-21T05:28:00.650 回答
0

即使在你更新之后,我也同意马库斯的观点。看来您不需要自定义面板。您需要的是一个 ItemsControl,其中 UniformGrid 作为 ItemsPanel,ViewBox 作为 ItemsContainer。UniformGrid 决定您的项目容器的排列方式。ViewBox 处理每个项目的拉伸和缩放。

于 2011-04-21T13:34:49.670 回答