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