如何让用户控件正确地调整自己的大小
本文关键字:调整 自己的 正确地 控件 用户 | 更新日期: 2023-09-27 18:08:09
我很抱歉没有得到这个。但是,尽管我已经阅读了几篇关于measure pass和arrange pass的文章,并编写了一些小程序,我仍然很难做到这一点。
对我来说,任何用户控件都有一个"最小尺寸"(在此之后,唯一可能的解决方案是将其缩小为整个位图或添加滚动条)。它也将有一个方法来使用任何额外的屏幕空间给它。
省略号没有最小尺寸,可以折叠为0。
那么,考虑这个例子
<Grid>
<StackPanel Orientation="Horizontal" Height="20">
<Ellipse Fill="Blue"/>
<Ellipse Fill="Green"/>
<Ellipse Fill="BlueViolet"/>
</StackPanel>
</Grid>
需要添加多少xaml代码才能达到以下效果:
- 让他们强制一个"最小尺寸"的统一40。并动态调整大小。
- 让他们强制一个"最小尺寸"的统一40。和动态调整不均匀的大小(这样他们可以拉伸非常宽,但永远不会低于40/40)。
- 让他们强制一个最小的高度,但拉伸到可用的宽度。
- 使它们均匀拉伸,以适应stackpanel的恒定高度。
- 使stackpanel拉伸以填充其容器的动态高度。
谢谢。
在大多数情况下,您可能希望使用具有一列的UniformGrid
而不是StackPanel
。要强制大小使用Style
设置MinHeight
和MinWidth
。如果一致性保证是"单向的",你可以只将Width
绑定到ActualHeight
。