作者:虎仔球妈_459 | 2023-08-31 13:13
我需要能够填充stackpanel
,buttons
但按钮必须首先出现在stackpanel的底部并向上填充.这些按钮是动态创建的,并且它们的数量未知,因此视觉上的hackery将无法正常工作.我尝试过垂直对齐,但无济于事.
1> Pop Catalin..:
像这样:
...
要向上填充按钮,必须将按钮插入位置0,而不是添加它们.
通过插入填充当然只有在代码中手动添加元素时才有效.我在这里开发了(在一些帮助下)一个可能对人们有用的ReversibleStackPanel:http://stackoverflow.com/questions/3428622/building-a-reversible-stackpanel-in-wpf
有一个类似的问题:从右到左填充通过设置`HorizontalAlignment ="Right"`.
2> Nir..:
或者您可以将StackPanel旋转180度以使按钮从底部到顶部堆叠,然后再将按钮旋转180度以使它们再次正面朝上:
@chaiguy - 我认为你认为这是cpu密集型是错误的,因为:1.转换非常有效,2.它们只在重新计算布局时运行 - 如果这对性能(或cpu使用)有任何明显的影响,我会非常惊讶
3> JB...:
另一种方法是使用DockPanel.
只需在DockPanel上将LastChildFill设置为false即可.
然后在添加到DockPanel之前,将附加的Dock属性设置为要添加到Bottom的每个按钮.
例如:
var button = new Button();
DockPanel.SetDock(button, Dock.Bottom);
LastChildFill!我希望我之前知道这件事!为什么他们不只是有一个Dock.Fill我永远不会知道.把整个孩子当作填充的整体是荒谬的.