A Vision for the Windows Developer Platform

Last month I posted on Building a Roadmap for Windows Development, where I discussed some of the components that need to come together in a coherent manner for the Windows developer platform of the future. These included things like running in the Windows App Container and the app having an Identity. In this post I’ll … Read more

Converting Xamarin.Forms to WindowsUI and Uno: StackLayout v StackPanel

When moving from Xamarin.Forms across to WinUI, one of the simpler changes to make is to switch out StackLayout for StackPanel. Or so you’d think – unfortunately StackLayout has some quirky behaviour that needs some extra handling to get right. In this post we’ll look at why the StackPanel replacement doesn’t always work, and what … Read more

Windows UI (WinUI) 3 Preview 5 and Project Reunion 0.5 preview – Upgrade today

Ok, just a quick summary post – Windows UI 3.0 and Project Reunion 0.5 preview has just shipped. The most notable change is that WinUI now falls under Project Reunion with changes to namespace, packages and the Visual Studio extension. Installation Here’s a quick summary of getting the latest bits: Start by removing the WinUI3 … Read more

Converting Xamarin.Forms to WindowsUI and Uno: SafeArea to VisibleBoundsPadding

Converting a Xamarin.Forms application across to use WinUI + Uno is mostly straight forward as a lot of the XAML is either the same, or has an equivalent. When you’re dealing with platform specifics, one thing you might come across is the SetUseSafeArea call. For example: The Uno platform exposes the concept of safe area … Read more

Simple WinUI + Uno Calculator

A week or so ago David from the XF/Maui team kicked of a thread on twitter challenging devs to add a simple addition to a simple calculator. I particularly liked the transition animation that Robin added, so figured I’d translate this to a WinUI+Uno platform application. I’m going to try to keep as close to … Read more

Async Support for Executing Storyboards in UWP and WinUI

Sometimes I forget just how old and dated XAML is, and how little advances Microsoft has made to make it easy to work with. With the move to WinUI, hopefully we’ll start to see some much needed improvements – we’ve seen some already with the ability to define row and column definitions as a single … Read more

Colors, Styles and Templates in UWP, Windows UI (WinUI) and the Windows App Sdk (WinAppSdk)

This is a quick post just to provide a reference point for anyone who’s looking for the default styles, templates, colors etc for Windows UI. Let’s break this down a bit: UWP Let’s start with the current technology, UWP. If you want to inspect the default styles and templates for UWP controls, you just need … Read more

Breaking a Developer Ecosystem by Changing a Namespace

The next 6-12 months are going to be super exciting with both preview and releases planned for WinUI, Project Reunion and Maui (aka Xamarin.Forms). WinUI/Reunion represent a significant decoupling for Windows apps from the underlying OS version. Meanwhile Maui will provide a bit of a reset for Xamarin.Forms which some major improvements to the way … Read more

Building a Roadmap for Windows Development

If you’re a developer that builds apps using .NET for Windows you’ll be familiar with Microsoft’s attempts to deliver a better developer story. Unfortunately this usually involves learning a new, typically under-baked, technology that in theory will make it easy to deliver better apps for Windows. Whether this was the jump from WinForms to WPF … Read more

Using ImageSharp in your WinUI – Uno Cross Platform App

ImageSharp WinUI Uno

This post originated from a tweet demonstrating how easily you can use the ImageSharp library in a Blazor server side app to generate images. In this post I’ll show how we can reuse the same code plus WinUI+Uno to generate images for iOS, Android, Windows (Desktop+UWP) and Web (WASM) I figured it’d be easy enough … Read more

WinUI 3.0 Misconceptions

Recently I came across a twitter thread talking about WinUI 3.0 (WinUI3) and how it failed to live up to expectations. Hopefully @JaykeBirdCoding won’t mind me going through his tweets and providing my thoughts – if you get value out of this analysis, please make sure you go follow @JaykeBirdCoding! For anyone else out there … Read more

Unpackaged Windows Apps with Identity using a Sparse Package

In my previous post I made a passing reference to the use of sparse packages to allow unpackaged Windows applications to acquire an identity. In this post we’re going to walk through creating a sparse package and attaching it to an unpackaged Windows application. Before we get into it I want to link to a … Read more

Trust, Identity and AppContainer for Windows Apps

Following my previous post where I explored different packaging options for Win32 and UWP apps, I realised that there are some options I didn’t mention. In this post I’m going to provide a very quick summary of the options I’ve come across and how they define the running context of an app. Here goes…. Vanilla … Read more

Errors with Windows Application Packaging Project

Here’s a quick fix for an error I came across when I’ve been experimenting with various packaging options for WPF (Win32) applications. To set the scene I have a new application, PackagingWPF, that I created based on the WPF Application project template. At this stage I’m not even going to both modifying the application. Next … Read more

Combining .NET 5, WinUI, UWP – FullTrust, PartialTrust, WindowsAppContainer

As Microsoft progresses towards the first release of WinUI3 and in parallel invests into Project Reunion, the gap between Win32 based applications (eg WinForms, WPF) and UWP applications is being eroded. In this post we’re going to look at the role of trust, identity, capabilities and the Windows App Container, and how they relate to … Read more

Missing Files in Multi-Targeted Project

In the .NET ecosystem there have been a number of different approaches to building libraries that work cross platform (i.e. support building apps for different platforms such as iOS, Android, Windows etc). One of the more recent is to build a multi-targeted project that can light up either different features or just different implementations for … Read more