2012-11-01 7 views
1

Je développe une application de métro Windows 8 avec un contrôle gridview xaml lié aux données.Accès aux sous-éléments de groupes de rubriques dans GridView lié aux données

enter image description here

J'ai ajouté une barre de progression de l'anneau nommé progressRingGroup à en-tête des groupes comme on le voit ci-dessous.

<ProgressRing x:Name="progressRingGroup" IsActive="True" Visibility="Visible" Width="16" Height="16" Margin="0,-7,0,0"/> 

Je veux accéder à la programmation d'anneau barre de progression de mon code (je peux démarrer/arrêter), mais comme mon grille-vue est databound Je ne sais pas comment le faire.

J'ai plusieurs groupes dans la grille et j'ai besoin d'accéder à tous séparément.

Voici ma définition groupstyle xaml de gridview;

<GridView.GroupStyle> 
      <GroupStyle> 
       <GroupStyle.HeaderTemplate> 
        <DataTemplate> 
         <Grid Margin="1,0,0,6"> 
          <Button 
           AutomationProperties.Name="Group Title" 
           Click="Header_Click" 
           Style="{StaticResource TextPrimaryButtonStyle}" > 
           <StackPanel Orientation="Horizontal"> 
            <ProgressRing x:Name="progressRingGroup" IsActive="True" Visibility="Visible" Width="16" Height="16" Margin="0,-7,0,0"/> 
            <TextBlock Text="{Binding Title}" Margin="6,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" /> 
            <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>           
           </StackPanel> 
          </Button> 
         </Grid> 
        </DataTemplate> 
       </GroupStyle.HeaderTemplate> 
       <GroupStyle.Panel> 
        <ItemsPanelTemplate> 
         <VariableSizedWrapGrid ItemWidth="75" ItemHeight="150" Orientation="Vertical" Margin="0,0,80,0" MaximumRowsOrColumns="3"/> 
        </ItemsPanelTemplate> 
       </GroupStyle.Panel> 
      </GroupStyle> 
     </GridView.GroupStyle> 

Aide appréciée.

Répondre

1

Si vous voulez être en mesure de contrôler la propriété IsActive de chaque anneau de progression, ajoutez une propriété bool à votre modèle de données de groupe, et lient IsActive à cette propriété. De cette façon, vous pouvez contrôler chaque ProgressRing sans devoir accéder à tous les programmes.

Par exemple:

<ProgressRing x:Name="progressRingGroup" IsActive="{Binding GroupLoading}" Visibility="Visible" Width="16" Height="16" Margin="0,-7,0,0"/> 

Si vous voulez toujours accéder à chaque programme, vous pouvez attribuer un événement Loaded au ProgressRing dans le DataTemplate, et quand l'événement se déclenche, prenez une référence à l'anneau (émetteur).