Debugging Android Applications with the Windows Subsystem for Android

As part of the announcement of Windows 11 earlier this year, Microsoft touted the ability to run Android applications on Windows. Recently this feature was made available via the Beta channel of the Windows Insider program. In this post I’m going to step through setting up the Windows Subsystem for Android (WSA), in order to … 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

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

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

Adding Validation to a XAML Control Using INotifyDataErrorInfo and the CommunityToolkit for WinUI, WPF, UWP and Uno

In my previous post on Building a XAML UserControl I made use of the CommunityToolkit.Mvvm (formerly Microsoft.Toolkit.Mvvm) NuGet package to provide the implementation of INotifyPropertyChanged used to data bind properties of our view model to the XAML controls. In this post we’re going to again use the community toolkit but this time we’re going to … Read more

Building a XAML UserControl for WinUI, UWP, WPF or Xamarin.Forms (.NET MAUI)

One of the powerful aspects of any XAML platform is the ability to define your own controls. In this post we’re going to look at building a user control that allows you to reuse chunks of your user experience. It doesn’t matter whether you’re using UWP, WinUI, Xamarin.Forms (.NET Maui) or the Uno Platform, the … 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

Image Resizetizer for WinUI and Uno Applications

Whilst I was working on migrating the WeatherTwentyOne app from Maui to Uno I noticed that the Maui application includes a number images as SVG files. However, in the XAML there are only ever references to PNG files. On closer inspection of the bin folder for the WinUI project I noticed that for each SVG … Read more

Converting the WeatherTwentyOne app from dotnet Maui to Uno

As the dotnet Maui team continue to churn out each preview, it’s great to see some of the showcase apps coming together. One of these is the WeatherTwentyOne app that David Ortinau has been working on. Whilst I’ve been doing a lot of work with the Uno platform recently, I haven’t been spending as time … Read more

Ditch that Packaging Project with the Windows App SDK (Windows UI)

One of the most annoying “features” of both UWP and WinUI/ProjectReunion WindowsAppSDK apps is the need to generate a package. With UWP development, the packaging was built into the UWP project. However, with the WindowsAppSDK, a separate packaging project is currently required. In this post we’re going to walk through how you can remove this … Read more

Nuget Package Explorer (nuget.info) is a PWA powered by Uno Platform

As a true demonstration of the capabilities of the Uno Platform the Nuget Package Explorer (source on GitHub / Microsoft Store) is now available at https://nuget.info. For more information read the announcement. One thing that’s not immediately obvious is that https://nuget.info is in fact a PWA. In Edge (and Chrome) you should see an icon … Read more

Getting Started with Project Reunion (Windows UI) and Visual Studio 2022

There’s a bit of fanfare going on at the moment because Microsoft have released the first preview of Visual Studio 2022 (announcement / download) which is significant because this is the first version of Visual Studio which will be 64bit. Note, this isn’t the first version that supports 64bit development, it’s the first version where … Read more

Startup Performance, Skia and the Future of Cross Platform Apps Built with .NET

Over the last week I’ve been exploring different ways to measure the time it takes for an app to launch and be ready for the user to interact with. I’ll go into more detail on this topic in subsequent posts but I wanted first to take a bit of a side track into thinking about … Read more

Running a Windows UI (Project Reunion) App as Partial Trust (Windows App Container)

I’ve covered this a couple of times already but it’s already possible to run a Windows UI (aka WinUI / Project Reunion) app as “partial trust”. This is roughly equivalent to the security context of a UWP application. However, there are some difference, which I’m assuming Microsoft will have to bridge if they’re going to … Read more

Visual Designer, Hot Reload and Beyond

In the last couple of years we’ve seen a massive spike in interest around “Hot Reload” thanks to the popularity of frameworks such as React/React Native and more recently, Flutter. The goal of Hot Reload is to allow developers to iteratively change their application code, whilst debugging their application – this cuts down considerably the … Read more