2011-01-28 74 views
2

我想做一些其他項目堆疊,但我沒有想法有多簡單。 這是正常的彎曲面板堆疊(從左上角到右頂部,然後不要有地方,那麼下一個項目將在第一左上角自由位置堆疊):WPF面板 - 非標準堆棧

enter image description here

但是,我想要做的,從堆積右下角到右上角,如果沒有到下一個項目的位置,那麼我想要下一個項目將被堆積在第一個左下角的自由位置。

像這樣:

| X 
| X 
| XX 
| XX 

Propably這不能用做只WarpPanel我打開新的思路。

任何人都可以幫助我嗎?

回答

1

這是一個比生產代碼更開玩笑,但它的作品! :)

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

0

我不認爲你可以自定義WrapPanel來做到這一點。但是,您始終可以創建自定義面板。

在網頁上搜索WPF中的自定義面板實現,您將獲得大量教程。

+0

嗯,我尋找最簡單的方法,也許有人得到一些使用已經開發的控件的決議。 – Svisstack 2011-01-28 20:11:31