Export Presentations to XAML in .NET

Exporting Presentations to XAML

About XAML

XAML is a descriptive programming language that allows you to build or write user interfaces for apps, especially those that use WPF (Windows Presentation Foundation), UWP (Universal Windows Platform), and Xamarin forms.

XAML, which is an XML-based language, is Microsoft’s variant for describing a GUI. You are likely to use a designer to work on XAML files most of the time, but you can still write and edit your GUI.

Exporting Presentations to XAML With Default Options

This C# code shows you how to export a presentation to XAML with default settings:

using (Presentation pres = new Presentation("pres.pptx"))
{
   pres.Save(new XamlOptions());
}

Exporting Presentations to XAML With Custom Options

You get to select options from the IXamlOptions interface that control the export process and determine how Aspose.Slides exports your presentation to XAML.

For example, if you want Aspose.Slides to add hidden slides from your presentation when exporting it to XAML, you can set the ExportHiddenSlides property to true. See this sample C# code:

using (Presentation pres = new Presentation("pres.pptx"))
{
    pres.Save(new XamlOptions { ExportHiddenSlides = true });
}

FAQ

How can I ensure predictable fonts if the original font is not available on the machine?

Set DefaultRegularFont in XamlOptions — it is used as a fallback font when the original is missing. This helps avoid unexpected substitutions.

Is the exported XAML intended only for WPF, or can it be used in other XAML stacks as well?

XAML is a general UI markup language used in WPF, UWP, and Xamarin.Forms. The export targets compatibility with Microsoft XAML stacks; the exact behavior and support for specific constructs depend on the target platform. Test the markup in your environment.

Are hidden slides supported, and how can I prevent them from being exported by default?

By default, hidden slides are not included. You can control this behavior via ExportHiddenSlides in XamlOptions — keep it disabled if you do not need to export them.