Bonjour à tous,
Je suis actuellement en train de développer une application pour WindowsPhone 8.x dans le cadre d'un projet de stage. Je suis débutant dans le domaine, et je me cogne tous les jours à des murs !!
Bref, je sollicite vos connaissances pour éventuellement me mettre sur la piste afin de résoudre mon problème.
Je cherche à developper mon application en essayant de respecter le Design Pattern MvvM en c#.NET.
Sur la page principal de mon application, j'ai une LongListSelector binder sur une collection d'objet List<Mission>.
Cela me génère donc un "block" par mission affichant les informations de cette dernière.
Dans ce longListSelector, j'affiche donc des informations dans des textblock qui sont récupérées dans les propriétés de mes objets "Mission".
Jusque la, je n'ai pas de problème.
Cela se complique pour mon petit cerveau lorsque je cherche a afficher des informations appartenant à une collection de mon objet Mission.
1) je n'arrive pas à accéder aux propriétés de mes objets de ma collection dans mon objet mission via le XAML.
2) je dois récupérer les valeurs de certaines propriétés qui requiert un traitement afin sélectionner la bonne information et je ne vois pas comment le faire.
Pour imager, mon objet mission contient une collection d'etapes(de 2 à n etapes). Je dois récupérer la première et la dernière étape en fonction de l'ID de l'étape.
Hors je ne vois pas comment faire un traitement sur une liaison de données fait sur un LongListSelector.
Extrait de ma page frmListeMissions.xaml:
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 <phone:LongListSelector Background="Gray" HorizontalAlignment="Stretch" Height="auto" Margin="0,10,0,0" Grid.Row="2" VerticalAlignment="Top" x:Name="llsMission" SelectionChanged="llsMission_SelectionChanged" ItemsSource="{Binding llsMission}"> <phone:LongListSelector.ItemTemplate> <DataTemplate> <!--en-tete--> <TextBlock Grid.Row="0" Grid.Column="0" x:Name="lblCmpMiss" Text="1/1" Margin="10,0" FontSize="24" FontWeight="Bold" HorizontalAlignment="Center"/> <TextBlock Grid.Row="0" Grid.Column="1" x:Name="lblNumMission" Text="{Binding IdMission}" Margin="10,0" FontSize="24" FontWeight="Bold"/> <TextBlock Grid.Row="0" Grid.Column="2" x:Name="lblNbEtape" Text="{Binding NbEtape}" Margin="10,0" FontSize="24" HorizontalAlignment="Left"/> <!-- Infos Premiere Etape--> <TextBlock Grid.Row="1" Grid.Column="0" x:Name="lblCPDebut" Text="{Binding Path=/ListEtape[0]/IdEtape}" Margin="10,0" FontSize="24"/> <TextBlock Grid.Row="1" Grid.Column="1" x:Name="lblVilleDebut" Text="{Binding}" Margin="10,0" FontSize="24"/> <TextBlock Grid.Row="1" Grid.Column="2" x:Name="lblDTHDebut" Text="{Binding}" Margin="10,0" HorizontalAlignment="Left"/> <!-- Infos Derniere Etape--> <TextBlock Grid.Row="2" Grid.Column="0" x:Name="lblCPFin" Text="{Binding}" Margin="10,0" FontSize="24"/> <TextBlock Grid.Row="2" Grid.Column="1" x:Name="lblVilleFin" Text="{Binding}" Margin="10,0" FontSize="24"/> <TextBlock Grid.Row="2" Grid.Column="2" x:Name="lblPlusTot" Text="{Binding}" Margin="10,0" FontSize="24" HorizontalAlignment="Left"/> </DataTemplate> </phone:LongListSelector.ItemTemplate> </phone:LongListSelector>
Extrait de mon code Behind frmListeMissions.xaml.cs :
et pour finir, un extrait de mon code frmListeMissionsViewModel.cs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private ViewModels.frmListeMissionsViewModel ListMissionVM; // Constructeur public frmListeMissions() { InitializeComponent(); ListMissionVM = new ViewModels.frmListeMissionsViewModel(); this.DataContext = ListMissionVM; }
Je ne suis pas toujours très claire dans mes explications. Par conséquent, je vous prie de ne pas trop m'en tenir rigueur, mais plutot de me questionner si besoin d'explications plus précises.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public List<Mission> llsMission { get; set; } public frmListeMissionsViewModel() { llsMission = Missions.ListMissions; }
Merci d'avance.
Partager