2009-09-05 5 views
0

J'ai un contrôle Accordéon auquel j'ai ajouté une grille de données.Silverlight 3 - Datagrid en accordéon Elément - Comment définir l'en-tête

Le problème est que je ne peux pas définir l'en-tête de l'élément accordian qui affiche le Datagrid.

Je ne peux que définir l'en-tête sur l'objet de la classe AccordionItem et non lorsque la grille de données est ajoutée à l'accordéon.

J'ai également essayé d'ajouter le Datagrid à l'objet Accordionitem qui a été ajouté à l'Accordéon mais qui n'a pas pu aboutir. Je ne peux pas comprendre comment ajouter Datagrid à l'objet accordéonitem.

Appréciez votre aide.

Merci, je

+0

La réponse ci-dessus de R2cOON fonctionne grea. J'ai aussi eu réponse ici: http://forums.silverlight.net/forums/p/125308/286961.aspx#286961 –

Répondre

0

Un Accordion a seulement AccordionItem enfants. Vous devez définir l'enfant explicitement au Accordion comme ça (exemple d'un Accordion avec un StackPanel comme un enfant et un modèle pour l'en-tête):

<layoutToolkit:Accordion 
     x:Name="accordion" 
     ExpandDirection="Down" 
     HorizontalAlignment="Stretch" 
     HorizontalContentAlignment="Stretch" 
     SelectionChanged="Accordion_SelectionChanged" 
     AccordionButtonStyle="{StaticResource DateAccordionButtonStyle}" 
     Background="White" 
     Padding="2" 
     > 
    <layoutToolkit:AccordionItem x:Name="dayAI" Background="{StaticResource OutlookCalendarColor}" > 
     <layoutToolkit:AccordionItem.HeaderTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal" Margin="0,0,0,2"> 
        <Image VerticalAlignment="Center" Source="{Binding Day, Source={StaticResource ImagesPath}}" Stretch="Uniform" /> 
        <TextBlock FontWeight="Bold" VerticalAlignment="Center" Text="{Binding Resource.Day, Source={StaticResource LocalizedStrings}}" Margin="5,0,0,0" /> 
       </StackPanel> 
      </DataTemplate> 
     </layoutToolkit:AccordionItem.HeaderTemplate> 
     <StackPanel > 
      <RadioButton Margin="5,5,5,5" x:Name="todayRB" GroupName="RBGroup" Content="{Binding Resource.Today, Source={StaticResource LocalizedStrings}}" Checked="RB_Checked"/> 
      <RadioButton Margin="5,5,5,5" x:Name="yesterdayRB" GroupName="RBGroup" Content="{Binding Resource.Yesterday, Source={StaticResource LocalizedStrings}}" Checked="RB_Checked"/> 
      <RadioButton Margin="5,5,5,5" x:Name="dayPickerRB" GroupName="RBGroup" Checked="RB_Checked"> 
       <StackPanel Orientation="Horizontal" > 
        <TextBlock Text="{Binding Resource.Day, Source={StaticResource LocalizedStrings}}" Margin="0,0,5,0" VerticalAlignment="Center"/> 
        <Controls:DatePicker x:Name="dayPickerDP" /> 
       </StackPanel> 
      </RadioButton> 
     </StackPanel> 
    </layoutToolkit:AccordionItem> 
</layoutToolkit:Accordion> 

Donc, dans votre cas, il serait quelque chose comme:

<Accordion> 
    <AccordionItem Header="My header text"> 
    <DataGrid x:Name="MyDataGrid"/> 
    </AccordionItem> 
</Accordion> 

Espérons que cela a du sens pour vous.

+0

Parfait. Merci beaucoup. Quelques infos ici! http://forums.silverlight.net/forums/p/125308/286961.aspx#286961 –

Questions connexes