Bonjour,
J'utilise ria avec un datagrid et un dataform.
J'ai un DataSource cree cote XAML, avec tout les binding automatiquent (Ria quoi).
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my1:TestJeu, CreateList=true}" Height="0" LoadedData="testJeuDomainDataSource_LoadedData" Name="testJeuDomainDataSource" QueryName="GetTestJeuQuery" Width="0"> <riaControls:DomainDataSource.DomainContext> <my:PrivoxyContext /> </riaControls:DomainDataSource.DomainContext> </riaControls:DomainDataSource>
Le dataform, ce petit coquin, ressembles a ca :
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<dataform:DataForm Name="dataform" ItemsSource="{Binding ElementName=testJeuDomainDataSource, Path=Data}" CurrentItem="{Binding ElementName=testJeuDataGrid,Path=SelectedItem}" Header="{Binding Path=Strings.TestSelectionne, Source={StaticResource ApplicationResources}}" Style="{StaticResource dataformStyle}" CurrentItemChanged="dataform_CurrentItemChanged" EditEnded="dataform_EditEnded" DeletingItem="dataform_DeletingItem" ValidatingItem="dataform_ValidatingItem" Visibility="Visible">
Un peu a rallonge, XAML effect.
Au loading de mon DataSource, (a l'appel de la methode GetTestJeuQuery() donc) je recupere ma jolie liste d'entitee.
Jusque la, tout vas bien.
Les entitees ont dans leurs proprietes une reference vers un objet, qui arrives a null (forcement).
Dans mon code-behind, sur l'event LoadedData du DataSource, j'ai ajoute un bout de code pour charger les-dites references.
Code c# : 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 PrivoxyContext context = testJeuDomainDataSource.DomainContext as PrivoxyContext; foreach (TestJeu test in testJeuDomainDataSource.Data) { EntityQuery<OutilsJeu> query = context.GetOutilsJeuForTestJeuQuery(test.Outils_ID); context.Load<OutilsJeu>(query, (resultat) => { OutilsJeu outil = resultat.Entities.FirstOrDefault(); if (outil != null) { test.OutilsJeu = outil; } }, null); }
J'ai donc mes entitees qui sont bien ajoutes, dans le meme contexte, jusque la pas de probleme.
Oui mais voila, le dataform bind le datasource et pour une raison inconnu "modifie" le dernier element charge.
Si j'ai 1 TestJeu, tout marche mais j'aurai la petite etoile dans le dataform.
Si j'ai 10 TestJeu, tout marche mais j'aurai la petite etoile sur le dernier element dans le dataform.
Pouquoi le dernier element est modifie ? Plus precisement pouquoi apparait il modifie alors que non.
Je cherche...
Partager