C# 如何从程序集读取xaml

C# 如何从程序集读取xaml,c#,wpf,xaml,C#,Wpf,Xaml,要导航到程序集中的特定页面,典型代码如下所示: NavigationService.Navigate(new Uri("pagename.xaml", UriKind.Relative)); 我想知道是否有办法读取这个XAML文件的内容,或者 直接从程序集反编译嵌入式BAML文件的方法。要从程序集实例化控件,需要执行以下操作: Uri uri = new Uri( "/YourApplication;component/YourWindow.xaml",

要导航到程序集中的特定页面,典型代码如下所示:

NavigationService.Navigate(new Uri("pagename.xaml", UriKind.Relative));
我想知道是否有办法读取这个XAML文件的内容,或者
直接从程序集反编译嵌入式BAML文件的方法。

要从程序集实例化控件,需要执行以下操作:

    Uri uri = new Uri( "/YourApplication;component/YourWindow.xaml", 
                    UriKind.Relative );
    Window window = (Window)Application.LoadComponent(uri);
其中Window是该文件的顶部元素。如果您想要实际的XAML,可以使用XamlWriter将其提供给您:

String xaml = XamlWriter.Save( window );