2012-04-09 2 views
0

В Silverlight лучший способ иметь кучу контейнеров, заполненных элементами управления, и иметь возможность отображать только один из контейнеров одновременно, что также совместимо с MVVM. Я помню, что в Winforms есть что-то подобное, но мне было интересно, есть ли что-нибудь в Silverlight или инструментарий?Макет Silverlight - одна панель за раз

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

вы можете подать макете, что вы хотите? – cadrell0

+0

Вы не имеете в виду TabControl? – Phil

+0

@Phil Нет, вкладки не то, что я ищу. У меня есть набор параметров справа и на основе того, какой вариант получает пикет, я хочу отобразить этот контейнер и его элементы управления, в то время как другие скрыты. Точно как [CardLayout] (http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/CardLayout.html) в java. –

ответ

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

спасибо .. это работает. –

Смежные вопросы