IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Phone .NET Discussion :

[Débutant] Utilisation de DataTemplate


Sujet :

Windows Phone .NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [Débutant] Utilisation de DataTemplate
    Bonjour, bonjour !^^

    Alors voilà, je tiens à préciser que je suis débutant en programmation .NET (et pas spécialement bon en xml :p)

    Dans la cadre de mon stage, je dois faire une application WP7, j'ai donc opté pour silverlight, et après deux semaines de codage intensif, je suis tombé sur la "toolkit for windows phone 7" qui propose pas mal de nouveaux composants.

    C'est en particulier le LongListSelector qui me pose problème, j'ai trouvé un tutoriel pour l'utiliser "à pleine puissance" (http://www.windowsphonegeek.com/arti...ding-scenarios), et à un moment, il m'est demandé de creer des "datatemplates".

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            <DataTemplate x:Key="citiesListHeader">
                <Border Background="Purple">
                    <TextBlock Text="Cities Header" />
                </Border>
            </DataTemplate>
            <DataTemplate x:Key="citiesListFooter">
                <Border Background="Green">
                    <TextBlock Text="Cities Footer" />
                </Border>
            </DataTemplate>
     
            <DataTemplate x:Key="citiesItemTemplate">
                <StackPanel Grid.Column="1"  VerticalAlignment="Top">
                    <TextBlock Text="{Binding Name}" FontSize="26"  Margin="12,-12,12,6"/>
                    <TextBlock Text="{Binding Country}"  Foreground="GreenYellow"/>
                    <TextBlock Text="{Binding Language}" Foreground="Orange" />
                </StackPanel>
            </DataTemplate>
    Et là, c'est le drame !

    J'avais déjà utilisé des DataTemplates dans le cadre d'un <ListBox.ItemTemplate>, mais là VS m'insulte à grand coup de "Une valeur de type DataTemplate ne peut pas être ajoutée à une collection ou un dictionnaire de type 'UIElementCollection'".

    J'ai essayé de chercher où mettre mes DataTemplates autrepart, cherché des personnes qui aurait eu le même problème, mais impossible de trouver :/

    Du coup je me tourne vers vous, Ô inconditionnels de l'informatique, Chuck Norris du .NET... (bref !^^)

    QUelqu'un aurait une idée ?

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Sauf que ton problème n'est pas à ce niveau, c'est là ou tu appelles le DataTemplate, peux-tu faire voir le code ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Par exemple, dans le cas de ma page d'accueil (qui contient des données pour les transitions de page, puis globalement 4 boutons):

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <phone:PhoneApplicationPage 
        x:Class="rentacar_mobile.MainPage"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
        xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        FontFamily="{StaticResource PhoneFontFamilyNormal}"
        FontSize="{StaticResource PhoneFontSizeNormal}"
        Foreground="{StaticResource PhoneForegroundBrush}"
        SupportedOrientations="Portrait" Orientation="Portrait"
        mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
        shell:SystemTray.IsVisible="True" xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit">
     
        <toolkit:TransitionService.NavigationInTransition>
            <toolkit:NavigationInTransition>
                <toolkit:NavigationInTransition.Backward>
                    <toolkit:TurnstileTransition Mode="BackwardIn"/>
                </toolkit:NavigationInTransition.Backward>
                <toolkit:NavigationInTransition.Forward>
                    <toolkit:TurnstileTransition Mode="ForwardIn"/>
                </toolkit:NavigationInTransition.Forward>
            </toolkit:NavigationInTransition>
        </toolkit:TransitionService.NavigationInTransition>
        <toolkit:TransitionService.NavigationOutTransition>
            <toolkit:NavigationOutTransition>
                <toolkit:NavigationOutTransition.Backward>
                    <toolkit:TurnstileTransition Mode="BackwardOut"/>
                </toolkit:NavigationOutTransition.Backward>
                <toolkit:NavigationOutTransition.Forward>
                    <toolkit:TurnstileTransition Mode="ForwardOut"/>
                </toolkit:NavigationOutTransition.Forward>
            </toolkit:NavigationOutTransition>
        </toolkit:TransitionService.NavigationOutTransition>
     
        <!--LayoutRoot contains the root grid where all other page content is placed-->
        <Grid x:Name="LayoutRoot" Background="Transparent">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
     
            <!--TitlePanel contains the name of the application and page title-->
            <StackPanel x:Name="TitlePanel" Margin="0,24,0,12">
                <TextBlock x:Name="PageTitle" HorizontalAlignment="Center" Text="Menu" Margin="0,0,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
            </StackPanel>
     
            <!--ContentPanel - place additional content here-->
            <Grid x:Name="ContentGrid" Grid.Row="1">
                <Button Content="Louer une voiture" 
                        Height="72" 
                        HorizontalAlignment="Center" 
                        VerticalAlignment="Top"
                        Margin="0,50,0,0" Name="button_louer" 
                        Width="300"
                        Click="buttonlouer_Click" />
                <Button Content="Trouver une agence" 
                        Height="72" 
                        HorizontalAlignment="Center" 
                        VerticalAlignment="Top"
                        Margin="0,150,0,0" Name="button_find" 
                        Width="300"
                        Click="buttonfind_Click" />
                <Button Content="Options" 
                        Height="72" 
                        HorizontalAlignment="Center" 
                        VerticalAlignment="Top"
                        Margin="0,250,0,0" Name="button_options" 
                        Width="300"
                        Click="buttonoptions_Click" />
                <Button Content="Debug" 
                        Height="72" 
                        HorizontalAlignment="Center" 
                        VerticalAlignment="Top"
                        Margin="0,350,0,0" Name="button_debug" 
                        Width="300"
                        Click="buttondebug_Click" />
     
     
            </Grid>
        </Grid>
     
        <!-- Sample code showing usage of ApplicationBar
        <phone:PhoneApplicationPage.ApplicationBar>
            <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
                <shell:ApplicationBarIconButton x:Name="appbar_button1" IconUri="/Images/appbar_button1.png" Text="Button 1"></shell:ApplicationBarIconButton>
                <shell:ApplicationBarIconButton x:Name="appbar_button2" IconUri="/Images/appbar_button2.png" Text="Button 2"></shell:ApplicationBarIconButton>
                <shell:ApplicationBar.MenuItems>
                    <shell:ApplicationBarMenuItem x:Name="menuItem1" Text="MenuItem 1"></shell:ApplicationBarMenuItem>
                    <shell:ApplicationBarMenuItem x:Name="menuItem2" Text="MenuItem 2"></shell:ApplicationBarMenuItem>
                </shell:ApplicationBar.MenuItems>
            </shell:ApplicationBar>
        </phone:PhoneApplicationPage.ApplicationBar>
        -->
     
     
    </phone:PhoneApplicationPage>

    Et je n'ai aucune idée de où rajouter un "DataTemplate".
    Je ne sais pas exactement si ça répond à ta question^^' Mais en gros, le tutoriel me demande de creer des DataTemplates comme ça (un peu dans le vide), alors que d'habitude je les crée pour un élément spécifique (par exemple dans un listbox), et du coup je n'ai aucune idée d'où définir mes Datatemplate

    EDIT : Ha ! en fait, tu me dit que le problème viens de l'appel du DataTemplate ? On ne peux pas en créer un sans l'utiliser ? (juste pour tester^^)

  4. #4
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Hello,

    alors déjà c'est normal car tu n'as pas de contrôle LongListPicker dans ta page !!!!

    normalement tu devrais avoir un truc comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
     
    <toolkit:LongListPicker ItemsSource="{Binding Path=MesDonnees}">
     
     //Là tu mets ton DataTemplate
     
    </toolkit>
    Voilà en espérant t'avoir aider un peu
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je pense que tu veux parler de DataListSelector, enfin, je n'ai aucun composant "DataListPicker", juste un ListPicker.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                <toolkit:LongListSelector ItemsSource="{Binding name}">        
     
                </toolkit:LongListSelector>

    Le problème, c'est que l'auto-complétion ne me propose même pas de créer un DataTemplate, même entre ces balises (et donc si je le tape moi même, il le refuse).

    Peut-être qu'il faut le mettre entre d'autres balises (supplémentaires), mais je n'ai aucune idée desquels

  6. #6
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Le LongListSelector est un composant du Windows Phone ToolKit que tu sites précédemment et que tu as donc dû installer !!
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui, celui là je l'ai, c'est le longlistpicker que je n'ai pas

  8. #8
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous pouvez aussi créer la ressource dans la balise ressource du formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Windows.Ressources>
    <DataTemplate x:Key="MyTemplate">
     
     
    </DataTemplate>
    <.Windows.Ressources>

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  9. #9
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Citation Envoyé par Bleveque Voir le message
    Oui, celui là je l'ai, c'est le longlistpicker que je n'ai pas
    Alors là c'est pas normal !
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

Discussions similaires

  1. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  2. Réponses: 19
    Dernier message: 28/04/2005, 15h36
  3. [Débutant]Utilisation de swing
    Par OtI$ dans le forum Débuter
    Réponses: 10
    Dernier message: 01/12/2004, 21h27
  4. [Débutant] Utilisation du mot clé ASSERT
    Par analysiz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2004, 11h43
  5. [Débutant] Utilisation de FOP - Register Fonts with FOP
    Par Johnbob dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 31/01/2004, 00h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo