2009-05-18 8 views
0

In meinem Viewmodel, möchte ich aus dieser Liste von Seitennamen eine Sammlung von Seite Objekte bauen:Wie können Seitenobjekte aus einer Sammlung von Seitennamen (Strings) dynamisch instanziiert werden?

private string[] pageNames = { 
    "Introduction.xaml", 
    "Slide1.xaml", 
    "Slide2.xaml" 
}; 

Wie instanziieren ich sie dynamisch, z.B. so etwas wie dieses:

foreach (string pageName in pageNames) 
{ 
    //PSEUDO CODE: 
    Page thePage = new &&pageName(); 
    thePages.Add(thePage); 

} 

Antwort

0

Sie XamlReader.Load verwenden können:

foreach (string pageName in pageNames) 
{ 
    string xaml = File.ReadAllText(pageName); 
    Page thePage = XamlReader.Load(xaml); 
    thePages.Add(thePage); 
} 

(Ich bin nicht sicher über die File.ReadAllText, es hängt davon ab, wo Ihre Dateien sind ...)