Silverlight布局 - 一次一个面板

时间:2012-04-09 15:25:24

标签: c# silverlight panel

在silverlight中,最好的方法是让一堆容器充满控件,并且能够同时显示其中一个容器,这也是MVVM模式友好的。我记得在Winforms中有一些东西可以做类似的事情,但我想知道Silverlight或工具包中是否有任何东西?

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

1 个答案:

答案 0 :(得分: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>