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

WinRT Discussion :

Créer un template dynamiquement [Débutant]


Sujet :

WinRT

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 79
    Points
    79
    Par défaut Créer un template dynamiquement
    Bonjour,

    Je débute en C#/Xaml pour win8.
    J'ai un fichier qui contient plusieurs images que j'affiche dans un FlipView. Jusque la pas de problème, je me suis servi d'une DataTemplate, et un DataTemplateSelector :
    Code xaml : 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
    <DataTemplate x:Key="PageTemplate">
                <Border Background="Orange">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="300"/>
                        </Grid.ColumnDefinitions>
                        <Grid Grid.Column="0">
                            <StackPanel x:Name="ImagePanel" Height="669" Margin="20,10,10,0" VerticalAlignment="Top" Width="1036" HorizontalAlignment="Center" Orientation="Horizontal">
                                <Image x:Name="ImageView" Source="{Binding ImageData}" Margin="0,10,10,10"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Bottom"/>
                            </StackPanel>
                        </Grid>
                        <Grid Grid.Column="1">
                            <TextBlock x:Name="ImageNameFied" Text="{Binding PageText}" TextWrapping="Wrap" Margin="10,10,10,10" 
                               FontSize="24"
                               Foreground="AliceBlue"
                               HorizontalAlignment="Center"
                               VerticalAlignment="Center"/>
                        </Grid>
                    </Grid>
                </Border>
            </DataTemplate>
            <!-- Instanciation du template selector pour le flipview -->
            <local:MZPageTemplateSelector x:Key="pageTemplateSelector" PageTemplate="{StaticResource PageTemplate}"/>
    ...
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Grid x:Name="MainGrid" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
            <FlipView x:Name="pageFlipView" ItemTemplateSelector="{StaticResource pageTemplateSelector}"></FlipView>
        </Grid>
    Et dans le code C#:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class MZPageTemplateSelector : DataTemplateSelector
        {
            public DataTemplate PageTemplate { get; set; }
     
            protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
            {
                if (item is ImagePage)
                {
                    return this.PageTemplate;
                }
                return base.SelectTemplateCore(item, container);
            }
        }

    Maintenant, il peut arriver que l'image que je dois afficher soit constituée de plusieurs images, des Tiles. Bien évidement, je ne connais pas à l'avance le nombre tiles par ligne et par colonne.
    Pour afficher ces images constituées de tiles, j'avais fais en C# une fonction qui construit le bon nombre d'Image (Windows.UI.Xaml.Controls) dans un un grid. Et ca marchait sans problème. (pas sur que ce soit la meilleure méthode d’ailleurs)

    Mais comment faire ce genre de construction d'objet graphique dynamiquement avec des template? et comment faire le Bind dans ce cas la?
    Ou sinon est qu'il est possible de construire un seul objet BitmapImage a partir de plusieurs BitmapImage?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 79
    Points
    79
    Par défaut
    J'ai résolu mon Pb avec :
    http://www.developpez.net/forums/d12...e-usercontrol/

    et sinon il y a la fonction Blit de de la class WriteableBitmap

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Procédure Stockée pour créer des TABLE dynamiquement
    Par GuyverZ dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2009, 23h29
  2. Créer un objet dynamiquement
    Par soad dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 08/11/2005, 15h03
  3. Trouver le Type d'une classe template dynamiquement ?
    Par Serge Iovleff dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2005, 17h48
  4. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 11h23
  5. [DisplayTag] Comment créer un lien dynamique
    Par tscoops dans le forum Taglibs
    Réponses: 3
    Dernier message: 17/02/2005, 10h53

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