XAML Reuse with Templates in Applications for Windows and the Uno Platform

XAML is often criticised for being verbose, hard to read and unnecessary as an additional language for defining the interface for an application. This feedback has lead to the creation of C# markup which works with both Windows UI / Windows App SDK and  Uno Platform applications. However, I find that the declarative nature and … Read more

Understanding Styles and Resources in Windows and Uno Platform Applications

In my previous post I looked how the Windows UI 3 Figma file components and variants map to styles and visual states in Windows UI but glosses over some of the details of how resources and in particular, Styles, are defined in Windows UI. To cover this in more detail, in this post we’re going to drill … Read more

How Figma Component Variants map to XAML Visual States in Windows UI

In a previous post I covered using Figma to design and develop applications for Windows and the  Uno Platform. This was a high level post that didn’t get into either Figma files (Fluent and Material) in much detail. One thing that is common to both files is the use of components, and component variants, to … Read more

Conditional Template Selector for XAML Applications for Windows and Uno Platform

Ok this post took a bit of inspiration from the C# Markup support that’s available for the Uno Platform where it’s easy to build a template selector (for a ListView for example) using a set of Case statements. This got me thinking that there must be a way that we can use a similar technique … Read more

Using ChatGPT and GitHub Copilot to Generate the XAML for your Windows application

In this post I’m going to experiment using ChatGPT and Copilot to help generate the XAML for pages in a Windows application. Since we’ll be using WinUI and the Windows App SDK, the application can be extended to support other platforms via the Uno Platform.  ChatGPT We’ll start by using ChatGPT (in this case ChatGPT v3.5) … Read more

NDC Sydney – Come learn why Figma is important to the Uno Platform

For a lot of people if you mention the Uno Platform they would immediately place it in the same bucket as other cross platform, .NET, technologies such as .NET Multi-platform App UI (.NET MAUI) and Avalonia UI and if you’re only interested in the core capability of create apps that run on multiple platforms from a … Read more

Adding .NET MAUI Controls to an Existing Uno-Platform Application

DevExpress

In case you haven’t seen the release notes or the blog post the 4.10 release for the Uno Platform was pretty huge with a couple of big features shipping in this release. One of these features was .NET MAUI Embedding with allows any .NET MAUI Control to be embedded within an Uno Platform application. If … Read more

Windows Community Toolkit for UWP, WinUI and Uno

The Windows Community Toolkit is in pre-release of v8 – full details of their announcement here. With the new consolidated structure, there are packages for both UWP and WinUI but more importantly both sets of packages also target the Uno Platform. In this post we’re going to walk through adding one of the components from … Read more

Integrating ImageSharp with Windows and Uno Platform Applications

Earlier this week Six Labors announced the release of ImageSharp.Drawing v1.0 and it made me wonder whether this could be used as an alternative to Skia for controls that want to do custom rendering in a Windows, or multi-platform Uno Platform, application. For Skia there are already Uno (which includes Windows/WinUI) views (see source here) … Read more

Hot Reload in Windows Applications

In a previous post on the topic of hot reload I discussed using the CreateNewOnMetadataUpdate attribute to force updating of entire classes, rather than patching existing types. This makes hot reload more resilient but does require additional logic in order to apply the newly created types. In this post we’re going to walk through the … Read more

XAML Based Navigation in Windows and Multi-Platform Applications with Uno.Extensions

One of the more complex parts of building an application is getting navigation to work. In a Windows application (or in a multi-platform application using the Uno Platform) you can easily navigate between pages using Frame.Navigate and Frame.GoBack but what if you want to use a more complex navigation structure like tabs or a NavigationView. … Read more

Incremental Loading (Pagination) with MVVM and MVUX

In my first post in this sequence on MVVM and MVUX we built out a simple application that searched movies in The Mobile Database (TMDB) using the text entered to match against the movie title. What’s interesting about the TMDB api is that the search results are actually paginated with the initial request only returning … Read more

Comparing MVVM and MVUX for building a Multi-Platform Application using .NET, C# and XAML with the Uno Platform

The purpose of this post is two fold, firstly to provide an introduction to Model-View-Update-eXtended (MVUX), as developed by the Uno Platform, and secondly to provide a comparison to the more traditional Model-View-ViewModel (MVVM) approach to building XAML-based applications. In order to do this, we’ll first walk through building a simple MVVM based application where … Read more

How to Disable Individual GridView and ListView Items in a XAML Application (WinUI + Uno Platform)

One of the most significant aspects of the XAML based applications is the concept of lookless controls. I’ve covered this topic a bit in the past but in summary it means that controls can be restyled without changing the behaviour. The Windows App SDK and the Uno Platform provide out of the box styles for … Read more

Fixing Broken DefaultButtonStyle in Windows UI (WinUI) / WinAppSdk

In writing my previous post on Implicit and Explicit Styles in XAML I was reminded of a bug in the definition of the DefaultButtonStyle which prevents you setting the Foreground colour of a Button. The issue is documented, along with the fix, in this issue but for whatever reason (and I can’t think of one … Read more

Using the Windows App SDK Resource Manager (MRT Core) in Unpackaged Win32 (WinForms/WPF) App.

As a UWP developer I relied heavily on the framework to deal with managing application resources such as images and string literals. You might think this is quite simple as images are just files that are packaged with your app and strings can just be put in a constants file. Where this all gets complicated … Read more

Custom Validation Attributes and Multi-Language Resource Loading for Validation with INotifyDataErrorInfo for XAML Applications (UWP, WinUI, Uno)

I think this will be the last in the series of posts covering validation using the INotifyDataErrorInfo interface, which can be used to expose validation error messages directly in your XAML. In this post we’re going to look at adding custom validation using both the CustomValidationAttribute and by creating our own ValidationAttribute. We’ll also look … Read more