[C#] At runtime meerdere instanties van xaml files laden*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 368649

Topicstarter
Hallo iedereen,

Ik ben een app aan het schrijven voor Windows Phone. Mijn app heeft een paar voorgedefinieerde layouts in xaml files. Nu vroeg ik met af hoe ik tijdens run-time meerdere instanties van deze xaml-files kan definieeren.

Ik heb bijvoorbeeld template1.xaml en template1.xaml.cs. Nu zou hiervan meerdere objecten willen aanmaken zodat ik van template1.xaml naar template1.xaml kan navigeren met andere data. Ik weet dat ik dit dynamisch kan laden. Het probleem is dan echter dat ik geen overgangseffecten kan tonen.

Snapt iemand wat ik bedoel? Ik vind het nogal moeilijk uit te leggen. :p

(Ik ben [C#] vergeten toe te voegen in de titel)

[ Voor 4% gewijzigd door Anoniem: 368649 op 27-02-2013 17:47 ]


Acties:
  • 0 Henk 'm!

  • CM5
  • Registratie: Maart 2003
  • Niet online

CM5

Ik weet niet of ik het de vraag helemaal goed begrepen heb, maar heb je de betreffende layout in een datatemplate staan? Op die manier moet je hem meerdere keren op kunnen roepen. Door de datacontext te wijzigen is het dan mogelijk met verschillende data te werken.

  • Caelorum
  • Registratie: April 2005
  • Nu online
Ik denk dat je gewoon in template1.xaml.cs ergens zoiets moet zetten: (mits die template een Page is)
C#:
1
this.Navigate(new URL("template1.xaml?data=[data id of iets dergelijks]", UriKind.RelativeOrAbsolute));

Als je dan iig een andere url opgeeft dat waar de app op dat moment bevind dan hoort dat alles te triggeren (en die ?data=[zooi] hoort daar wel voor te zorgen).
De vraag is alleen of je wel daadwerkelijk wilt weg navigeren of dat je niet gewoon de data wilt veranderen op de pagina met een leuke transition. In Expression Blend is dat laatste namelijk ook zo gedaan.

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 13:01
Is het wel handig om XAML files at runtime aan te maken dan? Het lijkt mij niet meer dan lastig. Misschien kun je zo'n effect wel hardcodes oproepen namelijk? Misschien kun je hier iets meer mee?