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 … Continue reading “Converting Xamarin.Forms to WindowsUI and Uno: SafeArea to VisibleBoundsPadding”

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 … Continue reading “Simple WinUI + Uno Calculator”

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 … Continue reading “Async Support for Executing Storyboards in UWP and WinUI”

Colors, Styles and Templates in Windows UI (WinUI)

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 … Continue reading “Colors, Styles and Templates in Windows UI (WinUI)”

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 … Continue reading “Breaking a Developer Ecosystem by Changing a Namespace”

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 … Continue reading “Building a Roadmap for Windows Development”

Using ImageSharp in your WinUI – Uno Cross Platform App

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 … Continue reading “Using ImageSharp in your WinUI – Uno Cross Platform App”

Building an Android app with .NET 6

Firstly, the news – Microsoft has made preview 1 of .NET 6 available. Make sure you checkout the long blog post that gives background on what’s coming in .NET 6 and what’s shipped in the preview. Setup Next, grab the bits and get ready to build an Android app using .NET 6. Make sure you … Continue reading “Building an Android app with .NET 6”

WinUI 3.0 Debugging Tooling with Visual Studio

Preview 4 of WinUI3.0 dropped recently and if you want to get started you’ll need the preview of Visual Studio and the WinUI project templates. One of the things I noticed was that some of the tool windows I was used to from UWP weren’t working as I expected. I recall hearing that Microsoft had … Continue reading “WinUI 3.0 Debugging Tooling with Visual Studio”

How to Upgrade a UWP Application to WinUI 3.0

As we get close to preview 4 of WinUI 3.0 (it’s Feb 2021 already so where’s my WinUI preview4!), now’s the time to start looking at how you’re going to upgrade your UWP application to WinUI3.0. In this post we’ll look at a migration approach that will allow you to keep your UWP app running … Continue reading “How to Upgrade a UWP Application to WinUI 3.0”

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 … Continue reading “WinUI 3.0 Misconceptions”

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 … Continue reading “Unpackaged Windows Apps with Identity using a Sparse Package”

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 … Continue reading “Trust, Identity and AppContainer for Windows Apps”

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 … Continue reading “Errors with Windows Application Packaging Project”

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 … Continue reading “Combining .NET 5, WinUI, UWP – FullTrust, PartialTrust, WindowsAppContainer”

Packaging a WinUI3 Desktop Application

This week I’ve been looking further into where WinUI3 is at and specifically how it relates to both Win32 and UWP applications. Along this journey I ran into a slight issue with WinUI3 for Desktop application that simply wouldn’t run if I published and then installed the package. In this post I’m going to walk … Continue reading “Packaging a WinUI3 Desktop Application”

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 … Continue reading “Missing Files in Multi-Targeted Project”

Windows Packages (APPX, MSIX etc) are a Band-Aid Solution

The Windows platform supports a number of different development frameworks (WinForms, WPF, UWP etc) and a number of different deployment models (xcopy, appx, msix etc). In this post we’re going to take a look at why the current trend for packaging Windows applications is a stop-gap, a temporary solution to the problem of application management … Continue reading “Windows Packages (APPX, MSIX etc) are a Band-Aid Solution”

What’s the correlation between .NET 5, WinUI and MAUI (Xamarin.Forms)

Over the last couple of years there have been a couple of key developments in the .NET world. However, despite a lot of rhetoric from Microsoft about building a better developer ecosystem, the reality is that the current landscape for building apps using .NET is a mess and no amount of sugar coating is going … Continue reading “What’s the correlation between .NET 5, WinUI and MAUI (Xamarin.Forms)”

Start and Restart Windows (UWP/WinUI) Applications on Windows Startup

A while ago Windows introduced a little-known feature that allows applications to automatically restart when Windows is restarted. However, rather than just look at this feature, which Windows app developer get for free, in this post we’re going to look at different options for starting and restarting a Windows application when Windows starts/restarts. Launch on … Continue reading “Start and Restart Windows (UWP/WinUI) Applications on Windows Startup”