如何从页面名称(字符串)集合中动态实例化Page对象?

时间:2009-05-18 15:16:38

标签: c# wpf

在我的ViewModel中,我想从这个页面名称列表构建一个Page对象集合:

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

如何动态实例化它们,例如像这样的东西:

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

}

1 个答案:

答案 0 :(得分:0)

您可以使用XamlReader.Load:

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

(我不确定File.ReadAllText,它取决于你的文件所在......)