2011-07-18 26 views
0

手風琴項Visibility屬性可以綁定像這樣:如何在Silverlight中使用Accordion.ItemTemplate時綁定AccordionItem可見性?

<layoutToolkit:Accordion x:Name="MyAccordion"> 
    <layoutToolkit:AccordionItem Visibility="{Binding IsVisible, Converter={StaticResource VisibilityConverter}}"> 
     ... 
    </layoutToolkit:AccordionItem> 
</layoutToolkit:Accordion> 

但是,如何使用Accordion.ItemTemplate時綁定呢?

<layoutToolkit:Accordion ItemsSource="{Binding AcordionItems}" x:Name="MyAccordion"> 
    <layoutToolkit:Accordion.ItemTemplate> 
     <DataTemplate> 
      ... 
     </DataTemplate> 
    </layoutToolkit:Accordion.ItemTemplate> 
    <layoutToolkit:Accordion.ContentTemplate> 
     <DataTemplate> 
      ... 
     </DataTemplate> 
    </layoutToolkit:Accordion.ContentTemplate> 
</layoutToolkit:Accordion> 

我可以將IsVisible綁定到DataTemplate中的元素,但會顯示一個空的手風琴項目。我需要能夠顯示/隱藏整個手風琴項目。

回答

0

我結束了使用StackPanel中有多個手風琴:

<StackPanel Orientation="Vertical"> 
    <ItemsControl ItemsSource="{Binding AcordionItems}"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Vertical"/> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 

     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <layoutToolkit:Accordion Visibility="{Binding IsVisible, Converter= 
        {StaticResource VisibilityConverter}}"> 
        <layoutToolkit:AccordionItem> 
         ... 
        </layoutToolkit:AccordionItem> 
       </layoutToolkit:Accordion> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 
</StackPanel> 
相關問題