2012-04-09 56 views
0

在silverlight中,有一堆容器裝滿控件並且能夠在MVVM模式友好的同時僅顯示其中一個容器的最佳方式是什麼。我記得Winforms中有些東西需要做類似的事情,但我想知道Silverlight或工具包中是否有任何東西?Silverlight佈局 - 一次一個面板

------------------------------------------- 
    |      View     | 
    | 
    | Containers: 
    | 
    |  ----- ----- ----- ----- 
    |  | | | | | | | | 
    |  | | | | | | | | 
    |  ----- ----- ----- ----- 
    |  
    |    ^
    |    | 
    |   currently 
    |    active    
    |------------------------------------------| 
+0

您可以發佈一個模擬了你想要什麼呢? – cadrell0 2012-04-09 15:27:51

+0

你不是指TabControl嗎? – Phil 2012-04-09 15:36:46

+0

@Phil不,Tabs不是我要找的。我在右邊有一組選項,並根據哪個選項得到糾正,我想顯示該容器,它是控件,而其他人隱藏。完全像java中的[CardLayout](http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/CardLayout.html)。 – 2012-04-09 15:45:22

回答

1

我確定有很多方法可以實現您想要的功能。

風格化的TabControl是一種方式。

這將是另一個:

<Grid> 
    <Grid Visibility="{Binding Panel1Visibility}"> 
     ... contents 
    </Grid> 
    <Grid Visibility="{Binding Panel2Visibility}"> 
     ... contents    
    </Grid> 
    ... etc 
</Grid> 

您將有許多重複的部分,在這裏網格但它們可以是任何東西。將可見性綁定到單個可見性屬性。 還是有一個VisibilityProperty和轉換器,像

<Grid> 
    <Grid Visibility="{Binding VisiblePanelNo, 
      Converter={StaticResource PanelVisibilityConverter}, ConverterParameter=1}"> 

    </Grid> 
    <Grid Visibility="{Binding VisiblePanelNo, 
      Converter={StaticResource PanelVisibilityConverter}, ConverterParameter=2}"> 
    </Grid> 
    ... etc 
</Grid> 
+0

謝謝..有效。 – 2012-04-09 17:43:16