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

Using Figma to Develop Windows and Uno Platform Applications

Designing applications for Windows and the Uno Platform can be difficult if you attempt to start from a clean slate and assume that you have to design everything from the ground up. This would require you to design even simple elements like a TextBox and a Button. After designing each element, a developer would then … 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

Add Maps to your WinUI / Windows App SDK Application using MapControl

The latest 1.5 experimental and preview version of the Windows App SDK contains the much anticipated MapControl. To get started, all you need to do is the following: <Window x:Class=”App2.MainWindow” xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”> <Grid> <MapControl x:Name=”mapControl” Width=”800″ Height=”600″ InteractiveControlsVisible=”True” MapServiceToken=”{your map service token}” /> </Grid> </Window> Unfortunately, this doesn’t work out of the box (see GitHub … Read more

Security with Windows Applications and AppContainers

One of the common misconceptions of Windows applications are that they are inherently insecure and that it’s not possible to build and deploy applications that are secure by default. If you look at other platforms, such as iOS and Android, applications have restricted permissions and have to opt in (often requiring explicit user consent) to … 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

Feeds in MVUX

In the past three posts (Getting Started, Comparison with MVVM and Incremental Loading) I’ve talked about the use of Model-View-Update-eXtended (MVUX). In this post we’re going look at feeds, which is one of the key components of MVUX. What’s a Feed In simple terms, a feed represents a stream of values, much like an Observable … 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

Adding Windows 11 Widgets to a UWP Application

With the recent release of v1.2 of the Windows App SDK came support for developing third party widgets for Windows 11. What’s not immediately obvious from the documentation is that you don’t have to be using Windows UI (WinUI), or even the Windows App SDK, for your application. In this post we’re going to add … Read more

Adding a Windows Widget to a C# Windows App SDK (Windows UI) App

Microsoft just shipped v1.2 of the Windows App SDK, which includes support for creating third-party Widgets for Windows. During the previews, it was understood that there was a limitation that the widget provider (i.e. the functionality of the widget) needs to be developed using C++. However, this changed and the final release included support for … Read more

Getting Started with the Windows App SDK (Preview 2)

As we get closer to the first release of the Windows App SDK, Microsoft has started shipping preview releases. Whilst it’s not clear what “preview” means versus “experimental”, it does appear that the move to shipping releases via the preview channel indicates that we’re getting very close to the v1 stable release. In this post … 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

Customising Error Messages with INotifyDataErrorInfo Validation for XAML Applications (UWP, WinUI, Uno)

In my previous post, Adding Validation to a XAML Control Using INotifyDataErrorInfo, I walked through adding validation to a view model using the INotifyDataErrorInfo interface and the Community Toolkit. This post will pick up where that post left off and look at how you can customise the error message that gets displayed. This will improve … Read more

Camera Preview Control for WinUI, UWP and Uno (iOS & Android) Applications

The Windows Community Toolkit provides a limited feature camera preview control for both UWP and WinUI but this doesn’t help if you want to build a cross platform application with the Uno Platform. In this post I wanted to share the very, very, very early version of a CameraPreview control for Uno. Initial support will … Read more

I am a Windows App Developer

With the recent excitement surrounding the announcement of Windows 11, there’s renewed interest in developing apps for the Windows platform. In this post we’re going to celebrate what it means to be a Windows App Developer, regardless of what framework or technology you chose. It’s not going to be an exhaustive list of options but … Read more