0

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

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

1 回答 1

1

我相信有很多方法可以实现你想要的。

样式化的 TabControl 是一种方式。

这将是另一个:

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

您将有许多重叠的元素,这里是网格,但它们可以是任何东西。将 Visibility 绑定到各个 Visibility 属性。或者有一个 VisibilityProperty 和一个转换器,比如

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

    </Grid>
    <Grid Visibility="{Binding VisiblePanelNo, 
          Converter={StaticResource PanelVisibilityConverter}, ConverterParameter=2}">
    </Grid>
    ... etc
</Grid>
于 2012-04-09T16:19:45.863 回答