2011-07-18 37 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> 
相关问题