当前位置:  开发笔记 > 编程语言 > 正文

WPF StackPanel如何从下到上垂直填充?

如何解决《WPFStackPanel如何从下到上垂直填充?》经验,为你挑选了3个好方法。

我需要能够填充stackpanel,buttons但按钮必须首先出现在stackpanel的底部并向上填充.这些按钮是动态创建的,并且它们的数量未知,因此视觉上的hackery将无法正常工作.我尝试过垂直对齐,但无济于事.



1> Pop Catalin..:

像这样:


    ...

要向上填充按钮,必须将按钮插入位置0,而不是添加它们.


通过插入填充当然只有在代码中手动添加元素时才有效.我在这里开发了(在一些帮助下)一个可能对人们有用的ReversibleStackPanel:http://stackoverflow.com/questions/3428622/building-a-reversible-stackpanel-in-wpf
有一个类似的问题:从右到左填充通过设置`Horizo​​ntalAlignment ="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我永远不会知道.把整个孩子当作填充的整体是荒谬的.
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有