{"id":902,"date":"2026-01-06T11:10:07","date_gmt":"2026-01-06T19:10:07","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/?p=902"},"modified":"2026-01-06T11:10:07","modified_gmt":"2026-01-06T19:10:07","slug":"xaml-studio-is-now-open-sourced","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/xaml-studio-is-now-open-sourced\/","title":{"rendered":"XAML Studio is now Open Sourced"},"content":{"rendered":"<h1 id=\"xaml-studio-open-sourced\">XAML Studio Open Sourced<\/h1>\n<p>It&#8217;s been over 8 years since what became XAML Studio was started. And from nearly the beginning, it was always envisioned as an open-source project\u2026 So, it&#8217;s with great pleasure that I&#8217;m happy to announce that day has finally come!<\/p>\n<p><a href=\"https:\/\/aka.ms\/xamlstudio\"><strong>XAML Studio<\/strong> is now an open-source project<\/a>! \ud83c\udf89 A big thanks to the <a href=\"https:\/\/dotnetfoundation.org\/\">.NET Foundation<\/a> for helping to make this journey happen and allowing us to become a new seed project within their organization.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-905\" src=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/header.webp\" alt=\"XAML Studio v2 Header Image\" width=\"1336\" height=\"402\" srcset=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/header.webp 1336w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/header-300x90.webp 300w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/header-1024x308.webp 1024w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/header-768x231.webp 768w\" sizes=\"(max-width: 1336px) 100vw, 1336px\" \/><\/p>\n<p>If you want to learn more about the history of XAML Studio as a project, you can actually read all about that on our GitHub <a href=\"https:\/\/github.com\/dotnet\/XAMLStudio\/discussions\/26\">discussion post about the project here<\/a>.<\/p>\n<h2 id=\"at-a-glance\">At a Glance \ud83d\udd0d<\/h2>\n<ul>\n<li><a href=\"#background\">Background on XAML Studio<\/a> \ud83d\udcdd<\/li>\n<li><a href=\"#features\">New Features<\/a> \u2728<\/li>\n<li><a href=\"#journey\">Open Source Journey<\/a> \ud83d\udeb6\u200d\u27a1\ufe0f\n<ul>\n<li><a href=\"#switchpresenter\">SwitchPresenter<\/a> \ud83d\udd22<\/li>\n<li><a href=\"#sizers\">Sizer Controls<\/a> \ud83d\udccf<\/li>\n<li><a href=\"#other\">Vertical Segmented and SelectedContentControl<\/a> \ud83c\udf9b\ufe0f<\/li>\n<li><a href=\"#adorners\">Adorners<\/a> \ud83c\udf81<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#contribute\">Feedback &amp; Contributing<\/a> \ud83d\ude4b<\/li>\n<li><a href=\"#nextsteps\">Next Steps<\/a> \ud83d\udd2e<\/li>\n<\/ul>\n<h2 id=\"background\"><a id=\"background\"><\/a> Background \ud83d\udcdd<\/h2>\n<p>XAML Studio is a developer tool for WinUI developers using XAML. It lets you rapidly prototype ideas before integrating them into your app within Visual Studio. It provides a variety of tools and helpers that are useful, specifically for XAML based development, such as:<\/p>\n<ul>\n<li>Live Edit and Interaction \u270f\ufe0f<\/li>\n<li>Binding Debugger \ud83d\udc1e<\/li>\n<li>Data Context Editor \ud83d\uddd2\ufe0f<\/li>\n<li>Auto-save and restore Documents \ud83d\udcbe<\/li>\n<li>IntelliSense \u2728<\/li>\n<li>Documentation Toolbox \ud83d\udcda<\/li>\n<li>Alignment Guides \ud83d\udccf<\/li>\n<li>Namespace Helpers \ud83c\udf0e<\/li>\n<\/ul>\n<p>Those features can be found in the <a href=\"http:\/\/aka.ms\/GetXAMLStudio\">current 1.1 version in the Microsoft Store<\/a>.<\/p>\n<h2 id=\"new-features\"><a id=\"features\"><\/a> New Features \u2728<\/h2>\n<p>The last public release of XAML Studio was version 1.1. Since then, development has still continued, with what will now be version <strong>2<\/strong>, as we have worked toward this open-source achievement. See the <a href=\"#nextsteps\">next steps section<\/a> below for more details on upcoming plans.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD.webp\"><img decoding=\"async\" class=\"alignnone size-large wp-image-904\" src=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD-1024x576.webp\" alt=\"XAML Studio v2\" width=\"1024\" height=\"576\" srcset=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD-1024x576.webp 1024w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD-300x169.webp 300w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD-768x432.webp 768w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD-1536x864.webp 1536w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/XamlStudioHeroHD.webp 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Above is a screenshot of the new v2 interface of XAML Studio. Version 2 is still in active development, but it can be built from source from <a href=\"https:\/\/aka.ms\/xamlstudio\">the GitHub repository<\/a>, today!<\/p>\n<p>If you followed the <a href=\"https:\/\/x.com\/hashtag\/12DaysOfXAML?src=hashtag_click&amp;f=live\">#12DaysOfXAML<\/a> hashtag on <a href=\"https:\/\/x.com\/XAMLLlama\/status\/2004250885493309917\">X (formerly known as Twitter)<\/a>, <a href=\"https:\/\/bsky.app\/profile\/xamlllama.bsky.social\/post\/3mateca6phi2q\">Bluesky<\/a>, or <a href=\"https:\/\/hachyderm.io\/@XAMLLlama\/115781509078547561\">Mastodon<\/a> over the last couple of weeks, you&#8217;ll have learned all about over a <strong>dozen<\/strong> of the new features and improvements made to the tool.<\/p>\n<p>You can learn all about them from the social links above or see our <a href=\"https:\/\/github.com\/dotnet\/XAMLStudio\/discussions\/categories\/feature-feedback\">Feature Feedback discussion area<\/a> on GitHub which digs into each feature, its status, and allows you to provide feedback on them.<\/p>\n<h2 id=\"open-source-journey\"><a id=\"journey\"><\/a> Open Source Journey \ud83d\udeb6\u200d\u27a1\ufe0f<\/h2>\n<p>The great thing about being a XAML Llama \ud83e\udd99 has already been getting to work on great open-source projects, like the <a href=\"https:\/\/aka.ms\/toolkit\/windows\">Windows Community Toolkit<\/a> (WCT). XAML Studio is a complex application which needed many controls which were not available, at the time, for WinUI. As part of the journey of building XAML Studio, many of these fundamentals were lifted along the way into other projects, mostly the WCT.<\/p>\n<h3 id=\"switchpresenter\"><a id=\"switchpresenter\"><\/a> SwitchPresenter \ud83d\udd22<\/h3>\n<p>For instance, the break-out <a href=\"https:\/\/learn.microsoft.com\/dotnet\/communitytoolkit\/windows\/primitives\/switchpresenter\"><code>SwitchPresenter<\/code><\/a> control in WCT 7.0, which allowed developers to use a <code>switch<\/code> like statement in XAML came directly from the development of XAML Studio! It was built to allow easy interop with the WinUI <code>NavigationView<\/code> control to display the various activities within the XAML Studio UI. As seen in the screenshot above on the left driving the display of the Explorer panel, from the NavigationView selection.<\/p>\n<h3 id=\"sizer-controls\"><a id=\"sizers\"><\/a> Sizer Controls \ud83d\udccf<\/h3>\n<p>Similarly, the WCT 8.0 <a href=\"https:\/\/learn.microsoft.com\/dotnet\/communitytoolkit\/windows\/sizers\/contentsizer\"><code>ContentSizer<\/code><\/a> control, along with the whole \u201cSizer\u201d suite, culminating in the complete revamp of <a href=\"https:\/\/learn.microsoft.com\/dotnet\/communitytoolkit\/windows\/sizers\/gridsplitter\"><code>GridSplitter<\/code><\/a> was also driven by XAML Studio. This was driven by the need for letting the side bar panel collapse and retain its size when expanded again. This was hard to do with the traditional <code>GridSplitter<\/code> control without a lot of extra logic and manipulation of Grid columns. You can see these in the above screenshot, the ContentSizer is between the Explorer panel and the XAML document on the right, and a GridSplitter is used between the XAML preview and XAML editor.<\/p>\n<p>The <code>ContentSizer<\/code> allowed us to manipulate a general XAML element in order to have that be contained within the parent layout. To collapse it, we turned off its Visibility and let the rest of the layout flow around it, but its width could be maintained that way. The <code>PropertySizer<\/code> was another early foray into figuring out how to create a manipulatable shelf alongside the <code>NavigationView<\/code> and maintaining its width between collapsed and visible states.<\/p>\n<p>From there, with the continual usage of the sizer controls, we realized it was a great opportunity to centralize this logic and fix some long-standing issues and gaps with their behavior.<\/p>\n<h3 id=\"vertical-segmented-and-selectedcontentcontrol\"><a id=\"other\"><\/a> Vertical Segmented and SelectedContentControl \ud83c\udf9b\ufe0f<\/h3>\n<p>The Windows developer community is great. It&#8217;s been amazing to see developers rally together to contribute to open source and build things that accelerate everyone forward.<\/p>\n<p>Just as we were preparing for this moment, we realized we needed some other experiences to fill some gaps. Discussions in the <a href=\"https:\/\/windowsappcommunity.com\/discord\">Windows App Community Discord server<\/a> led to <a href=\"https:\/\/github.com\/Avid29\">Avid29<\/a> jumping in to open a WCT PR to add a <a href=\"https:\/\/github.com\/CommunityToolkit\/Windows\/pull\/747\">Vertical Orientation to the Segmented<\/a> control (as seen in the header image at the top of this blog), and with <a href=\"https:\/\/github.com\/AndrewKeepCoding\">AndrewKeepCoding<\/a> to the creation of the <a href=\"https:\/\/github.com\/CommunityToolkit\/Windows\/issues\/811\">SelectedContentControl<\/a>. \ud83e\udd99\u2764\ufe0f<\/p>\n<p>The tabs may look connected to the document in XAML Studio v2, but they&#8217;re not. We needed to separate them in order to gain control of the layout of the TitleBar area, this let us place the XAML Studio application name there and be the drag handle for the app. This is a non-standard pattern, so please provide feedback on how it feels to use the app in the <a href=\"https:\/\/github.com\/dotnet\/XAMLStudio\/discussions\/35\">feature feedback forum<\/a>.<\/p>\n<h3 id=\"adorners\"><a id=\"adorners\"><\/a> Adorners \ud83c\udf81<\/h3>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/OpenSourceAdorners.webp\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-903\" src=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/OpenSourceAdorners-300x238.webp\" alt=\"XAML Studio using Windows Community Toolkit Labs Adorners\" width=\"300\" height=\"238\" srcset=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/OpenSourceAdorners-300x238.webp 300w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/OpenSourceAdorners-768x610.webp 768w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/01\/OpenSourceAdorners.webp 848w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Last, but not least. WinUI <a href=\"https:\/\/github.com\/CommunityToolkit\/Labs-Windows\/pull\/760\">XAML-based Adorners<\/a>. These didn&#8217;t originally start explicitly for XAML Studio, they started as a hackathon project to figure out what was possible in this space. WPF Adorners have been a staple of complex editors and manipulation of UI for XAML, but have long since been missing from WinUI.<\/p>\n<p>The project originally started in the <a href=\"https:\/\/aka.ms\/toolkit\/labs\/windows\">Windows Community Toolkit Labs<\/a>, where new controls are prototyped. There were some limitations with responding to layout, however, they were good enough to pull into XAML Studio for experimenting with advanced visualizations and editor tools, like the boundary highlighter above.<\/p>\n<p>Through this work, some of the original challenges were solved, and as part of the journey to open sourcing XAML Studio, we updated and released an initial experimental version of the Adorners package through WCT Labs last month! You can try it out in your own WinUI applications with the <code>CommunityToolkit.Labs.Uwp.Adorners<\/code> or <code>CommunityToolkit.Labs.WinUI.Adorners<\/code> package on NuGet today!<\/p>\n<h2 id=\"feedback-contributing\"><a id=\"contribute\"><\/a> Feedback &amp; Contributing \ud83d\ude4b<\/h2>\n<p>Not sure how to get started contributing? <em>Don&#8217;t worry!<\/em> Did you know that just providing feedback on what we&#8217;re doing and trying our new features <strong>is contributing<\/strong>?!?<\/p>\n<p>Jump into the <a href=\"https:\/\/github.com\/dotnet\/XAMLStudio\/discussions\/categories\/feature-feedback\">Feature Feedback forum<\/a> to learn about new v2 features to try and provide feedback on what works and what doesn&#8217;t work.<\/p>\n<p>Join the discussion on Discord in the <a href=\"https:\/\/discord.com\/invite\/ZexeU23dDr\"><code>#xaml-studio<\/code><\/a> channel of the <a href=\"https:\/\/windowsappcommunity.com\/discord\">Windows App Community Discord server<\/a>.<\/p>\n<p>You can also reach out on social media with the <code>#XAMLStudio<\/code> hashtag. Find me at <a href=\"https:\/\/twitter.com\/XAMLLlama\">@XAMLLlama<\/a>, <a href=\"https:\/\/bsky.app\/profile\/xamlllama.bsky.social\">@xamlllama.bsky.social<\/a>, or <a href=\"https:\/\/hachyderm.io\/@XAMLLlama\">@XAMLLlama@hachyderm.io<\/a>.<\/p>\n<p>If you&#8217;re interested in contributing documentation or code, here are a few extra steps:<\/p>\n<ul>\n<li>Take a look at <a href=\"https:\/\/aka.ms\/xamlstudio\">our repository<\/a> and clone it. Be sure to checkout the <code>dev<\/code> branch for v2.<\/li>\n<li>Open the <code>XamlStudio.slnx<\/code> solution and try to build it following the steps in the readme.<\/li>\n<li>Back on GitHub, find an unclaimed issue.<\/li>\n<li>Comment to chime in with what you&#8217;d like to do, and we can help you get started toward your first Pull Request (PR)!<\/li>\n<\/ul>\n<h2 id=\"next-steps\"><a id=\"nextsteps\"><\/a> Next Steps \ud83d\udd2e<\/h2>\n<p>Open sourcing is a feature! This was a lot of work to get to this point, but we&#8217;re super excited to continue this journey with the community of passionate WinUI developers out there. \ud83e\udd99\u2764\ufe0f<\/p>\n<p><strong>XAML Studio v2<\/strong> has a lot of cool features, but many of them are still <em>experimental<\/em> and early in their development cycle. We hope to continue improving these experiences and stabilizing the code, especially with some still needed larger changes needed to fully support some of the new experiences as well as WinUI 3.<\/p>\n<p>Once we&#8217;re ready, hopefully later this year, we&#8217;ll work to an official stable release of v2 that ships to the Microsoft Store. You can track the latest progress towards a v2 beta release on our <a href=\"https:\/\/github.com\/dotnet\/XAMLStudio\/issues\/34\">Roadmap Issue here<\/a>.<\/p>\n<p>I look forward to seeing everyone on <a href=\"https:\/\/aka.ms\/xamlstudio\">GitHub<\/a>, thanks!<\/p>\n<p><div  class=\"d-flex justify-content-left\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/aka.ms\/xamlstudio\" target=\"_blank\">XAML Studio on GitHub<\/a><\/div><\/p>\n<p>\ud83d\ude4b\u200d\u2642\ufe0f <em>Looking to learn more about WinUI? Check out this <a href=\"https:\/\/www.youtube.com\/playlist?list=PLI_J2v67C23ZqsolUDaHoFkF1GKvGrttB\">YouTube Playlist<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>XAML Studio Open Sourced It&#8217;s been over 8 years since what became XAML Studio was started. And from nearly the beginning, it was always envisioned as an open-source project\u2026 So, it&#8217;s with great pleasure that I&#8217;m happy to announce that day has finally come! XAML Studio is now an open-source project! \ud83c\udf89 A big thanks [&hellip;]<\/p>\n","protected":false},"author":41887,"featured_media":905,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[4,51,10,61,49,5,8,6,15,70],"class_list":["post-902","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ifdef-windows","tag-net","tag-csharp","tag-desktop","tag-developer","tag-dotnet","tag-uwp","tag-windows","tag-winui","tag-xaml","tag-xaml-studio"],"acf":[],"blog_post_summary":"<p>XAML Studio Open Sourced It&#8217;s been over 8 years since what became XAML Studio was started. And from nearly the beginning, it was always envisioned as an open-source project\u2026 So, it&#8217;s with great pleasure that I&#8217;m happy to announce that day has finally come! XAML Studio is now an open-source project! \ud83c\udf89 A big thanks [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts\/902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/users\/41887"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/comments?post=902"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts\/902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/media\/905"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/media?parent=902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/categories?post=902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/tags?post=902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}