2010-10-09 3 views
2

Pour accéder à une page spécifique dans l'ensemble, le code typique ressemble à:lire XAML de l'assemblage

NavigationService.Navigate(new Uri("pagename.xaml", UriKind.Relative)); 

Je me demandais s'il y a un moyen de lire le contenu de ce fichier XAML ou peut être un moyen de décompiler le fichier BAML incorporé à partir de l'assembly directement.

Répondre

4

Pour instancier le contrôle de votre montage, vous devez effectuer les opérations suivantes:

Uri uri = new Uri("/YourApplication;component/YourWindow.xaml", 
        UriKind.Relative); 
    Window window = (Window)Application.LoadComponent(uri); 

où la fenêtre est l'élément supérieur de ce fichier. Si vous voulez que le XAML réel que vous pouvez utiliser XamlWriter pour donner que pour vous:

String xaml = XamlWriter.Save(window); 
+0

Thanx beaucoup cela fonctionne. –