WPF面板 - 非标准堆栈

问题描述:

我想做一些其他项目堆叠,但我没有想法有多简单。 这是正常的弯曲面板堆叠(从左上角到右顶部,然后不要有地方,那么下一个项目将在第一左上角*位置堆叠):WPF面板 - 非标准堆栈

enter image description here

但是,我想要做的,从堆积右下角到右上角,如果没有到下一个项目的位置,那么我想要下一个项目将被堆积在第一个左下角的*位置。

像这样:

| X 
| X 
| XX 
| XX 

Propably这不能用做只WarpPanel我打开新的思路。

任何人都可以帮助我吗?

这是一个比生产代码更开玩笑,但它的作品! :)

XAML:

<Window.Resources> 
     <Style TargetType="FrameworkElement" x:Key="rotateItPlease"> 
      <Setter Property="RenderTransform"> 
       <Setter.Value> 
        <ScaleTransform ScaleX="-1" ScaleY="-1" /> 
       </Setter.Value> 
      </Setter> 
      <Setter Property="RenderTransformOrigin" Value="0.5,0.5" /> 
     </Style> 
    </Window.Resources> 

,然后应用这种风格到这两个WrapPanel和它所有的孩子(它会更容易,如果你有你自己wrapPanel一些ItemsControl中的一部分):

<WrapPanel Orientation="Vertical" Style="{StaticResource rotateItPlease}"> 
     <Button Style="{StaticResource rotateItPlease}">Hello</Button> 
     <Button Style="{StaticResource rotateItPlease}">Hello</Button> 
     <!-- More buttons here -->      
    </WrapPanel> 
+0

非常感谢! ;-) – Svisstack 2011-01-28 21:24:56

我不认为你可以自定义WrapPanel来做到这一点。但是,您始终可以创建自定义面板。

在网页上搜索WPF中的自定义面板实现,您将获得大量教程。

+0

嗯,我寻找最简单的方法,也许有人得到一些使用已经开发的控件的决议。 – Svisstack 2011-01-28 20:11:31