как читать xaml из сборки - PullRequest
2 голосов
/ 09 октября 2010

Чтобы перейти на определенную страницу в сборке, типичный код выглядит следующим образом:

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

Мне было интересно, есть ли способ прочитать содержимое этого файла XAML или способ декомпиляции встроенного файла BAML из сборки напрямую.

1 Ответ

4 голосов
/ 09 октября 2010

Чтобы создать экземпляр элемента управления из вашей сборки, вам нужно сделать следующее:

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

где Window - верхний элемент этого файла. Если вам нужен настоящий XAML, вы можете использовать XamlWriter , чтобы выдать вам:

String xaml = XamlWriter.Save( window );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...