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}"/>
Et dans le code C#:
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>
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?
Partager