![]() |
1
371
听起来你想要一个
XAML:
|
![]() |
2
113
之所以会发生这种情况,是因为堆栈面板以正无穷大作为堆栈元素所沿轴的约束来测量每个子元素。子控件必须返回它们想要的大小(正无穷大不是有效的返回值 MeasureOverride 如果你的视图不需要滚动功能,而上面的答案不符合你的需求,我建议你实现自己的面板。您可能可以直接从StackPanel中导出,然后只需更改 ArrangeOverride 方法,以便在其子元素之间划分剩余空间(为每个子元素提供相同数量的额外空间)。如果元素被给予比它们想要的更多的空间,它们应该会渲染得很好,但如果你给它们更少的空间,你就会开始看到小故障。 IScrollInfo ,但如果你要正确地实现所有这些,情况就会变得复杂。 |
![]() |
3
70
另一种方法是使用具有一列的网格
n
我更喜欢这种方法,因为我发现网格的布局性能比DockPanels、StackPanels和WrapPanels更好。但是,除非您在ItemTemplate中使用它们(其中对大量项目执行布局),否则您可能永远不会注意到。 |
![]() |
4
23
您可以使用
SpicyTaco.AutoGrid
-的修改版本
第一个按钮将被填充。 您可以通过NuGet安装它:
我建议你看看
辣土豆。自动网格
。它对WPF中的表单非常有用,而不是
|