如何让用户控件正确调整大小?

时间:2011-09-11 18:38:28

标签: c# wpf xaml expression-blend

我没有得到这个感觉很糟糕。 但是,虽然我已经阅读了几篇关于测量通过的文章,并安排了传递并编写了几个小程序,但我仍然很难用这个。

对我来说,任何用户控件都具有“最小尺寸”(之后只有可能的解决方案是将整个位图缩小或添加滚动条)。它还可以使用任何额外的屏幕空间。

椭圆没有最小尺寸,可以折叠到零。

所以,请考虑这个例子

<Grid>
    <StackPanel Orientation="Horizontal" Height="20">
        <Ellipse Fill="Blue"/>
        <Ellipse Fill="Green"/>
        <Ellipse Fill="BlueViolet"/>
    </StackPanel>
</Grid>

为实现以下效果而添加的xaml代码量最少:

  • 让它们强制均匀40的“最小尺寸”。并动态调整大小。
  • 使它们强制均匀40的“最小尺寸”。并且非均匀地动态调整大小(以便它们可以伸展得非常宽,但绝不会大小超过40/40)。
  • 强制它们施加最小高度,但伸展到可用宽度。
  • 使它们均匀地伸展,以适应堆叠板的恒定高度。
  • 使stackpanel拉伸以填充其容器的动态高度。

谢谢。

1 个答案:

答案 0 :(得分:1)

在大多数情况下,您可能希望将UniformGrid与一列而不是StackPanel一起使用。要强制调整尺寸,请使用设置StyleMinHeightMinWidth。如果保证统一性是“单向的”,您可以将Width绑定到ActualHeight