none
Control Pivot Dynamique RRS feed

  • Question

  • Bonjour,

    Je débute totalement en développement sur Windows Phone. J'essaye de créer une page pivot qui se complète par des pivot dynamique. Pour cela je me suis inspiré de comment remplir dynamiquement une listBox, seulement ça n'a pas l'air d'être la bonne solution car mon code ne marche pas et me retourne une erreur non identifié.

    Voici mon code :

            List<MonAlarm> mesAlarms = new List<MonAlarm>();
    
            // Constructeur
            public MainPage()
            {
                InitializeComponent();
                maList_Alarm();
            }
    
            private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
            {
    
                unPivot_Reveil.ItemsSource = mesAlarms;
            }
    
            private void maList_Alarm()
            {
                MonAlarm uneAlarm1 = new MonAlarm();
                uneAlarm1.NewAlarm(1, "test1", "7h00", "5min", "Alarm2", "Jours", "Mardi,Mercredi");
                MonAlarm uneAlarm2 = new MonAlarm();
                uneAlarm2.NewAlarm(1, "test2", "8h00", "5min", "World.mp3", "Jours", "Lundi,Jeudi,Vendredi");
                MonAlarm uneAlarm3 = new MonAlarm();
                uneAlarm3.NewAlarm(1, "Montagne", "7h30", "10min", "Day.mp3", "Date", "08/03/2012");
                mesAlarms.Add(uneAlarm1);
                mesAlarms.Add(uneAlarm2);
                mesAlarms.Add(uneAlarm3);
            }

    Merci d'avance pour votre aide. Et si besoin voici l'interface XAML:

    <!--LayoutRoot est la grille racine où tout le contenu de la page est placé-->
        <Grid x:Name="LayoutRoot" Background="White">
            <Grid.RowDefinitions>
                <RowDefinition Height="auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            
            <!--Titre de l'application-->
            <StackPanel Name="Title" Grid.Row="0">
                <TextBlock Name="unTB_Titre" Text="Mes alarmes" FontSize="48" 
                           Foreground="Chocolate" FontWeight="ExtraLight" 
                           FontFamily="Comic Sans MS"/>
            </StackPanel>
            
            <!--Les controls Pivot-->
            <Grid Name="PanelPivot" Grid.Row="1">
                <controls:Pivot Name="unPivot_Reveil">
                    <controls:Pivot.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Name_Alarm}"/>
                        </DataTemplate>
                    </controls:Pivot.HeaderTemplate>
                    <controls:Pivot.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <TextBlock Margin="solid 3px black" Text="{Binding Heure_Alarm}"/>
                                <TextBlock Margin="solid 3px pink" Text="{Binding Musique_Alarm}"/>
                            </Grid>
                        </DataTemplate>
                    </controls:Pivot.ItemTemplate>
                </controls:Pivot>
            </Grid>
        </Grid>

    mardi 6 mars 2012 11:31

Réponses

  • Ton erreur est ici : 

      <TextBlock Margin="solid 3px black" Text="{Binding Heure_Alarm}"/>

    "solid 3px black" c'est du border en css ça, aucun rapport avec la propriété Margin de XAML ;)

    Margin est un nombre de pixel par rapport au bord, une "marge" donc. 

    Mets plutot :

    <TextBlock Margin="3" Text="{Binding Heure_Alarm}"/>

    Et pour lier ta liste à ton pivot, écris :

    mesAlarms.Add(uneAlarm1); mesAlarms.Add(uneAlarm2); mesAlarms.Add(uneAlarm3);

    unPivot_Reveil.ItemsSource=mesAlarms;

    Voila !


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    • Marqué comme réponse Nanais19 mardi 6 mars 2012 13:03
    mardi 6 mars 2012 12:43
    Modérateur

Toutes les réponses

  • Bonjour,

    Est-ce que Name_Alarm est une propriété ? Le binding ne fonctionne que sur les propriétés.

    mardi 6 mars 2012 12:10
  • Ton erreur est ici : 

      <TextBlock Margin="solid 3px black" Text="{Binding Heure_Alarm}"/>

    "solid 3px black" c'est du border en css ça, aucun rapport avec la propriété Margin de XAML ;)

    Margin est un nombre de pixel par rapport au bord, une "marge" donc. 

    Mets plutot :

    <TextBlock Margin="3" Text="{Binding Heure_Alarm}"/>

    Et pour lier ta liste à ton pivot, écris :

    mesAlarms.Add(uneAlarm1); mesAlarms.Add(uneAlarm2); mesAlarms.Add(uneAlarm3);

    unPivot_Reveil.ItemsSource=mesAlarms;

    Voila !


    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue

    • Marqué comme réponse Nanais19 mardi 6 mars 2012 13:03
    mardi 6 mars 2012 12:43
    Modérateur
  • Ah oui effectivement ça fonctionne en associant la source de unPivot_Reveil au lieu de l'instancier au chargement. Merci =)

    mardi 6 mars 2012 13:03