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

Saving Data using Settings for Windows and Uno Platform Applications

Following on from the posts on Dependency Injection, Logging and Configuration, in this post we’re going to look at how data can be persisted between sessions using Settings within a Windows or Uno Platform application. This series makes use of Uno.Extensions in order to initialize the services that are required by the application. At the end of the … Read more

Configuration for Windows and Uno Platform Applications

Following on from Dependency Injection and Logging, in this post we’re going to configure the IHostBuilder to load and access configuration information within a Windows or Uno Platform application. We’ll pick up where we left off with the IHostBuilder setup to switch environments and configure logging. var builder = this.CreateBuilder(args) .Configure(host => host #if DEBUG … Read more

Logging for Windows and Uno Platform Applications

In my previous post I covered Dependency Injection for Windows and Uno Platform Applications which covered creating a new application and adding dependency injection using the Uno.Extensions which leverages the Microsoft Extensions IHostBuilder to create an IHost instance. In this post we’re going to adjust the IHostBuilder to setup Logging support. We’re going to start … Read more

Dependency Injection for Windows and Uno Platform Applications.

In the next few posts we’re going to be looking at the TubePlayer sample application for the Uno Platform. For this post we’re going to focus on using Uno.Extensions to add dependency injection to an Uno Platform application. Uno.Extensions builds on the awesome work that Microsoft has done with the Microsoft.Extensions that provides capabilities such … Read more

5x with the Uno Platform

Just over a week ago the Uno Platform released v5.0 which was another significant update, following the 4.10 release that included Adding .NET MAUI Controls to an Existing Uno-Platform Application, and some awesome support for shadows. In this post we’re going to do a wrap up of the release and look at trajectory of the platform. … Read more

Getting Started with WinGet Configuration

Recently, Microsoft announced the availability of DevHome with the goal of becoming the one stop shop for all things developer. Two important concepts that are available in the first iteration is DevDrive and WinGet Configuration. Both DevDrive and WinGet Configuration are actually features of Windows, the aim of DevHome is to provide a convenient way … 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

iOS Debugging on Windows – VS Code Extension

One of the things that has always impressed me was the ability to pair Visual Studio running on Windows to a Mac and be able to debug on either a real device, or on a simulator. There’s even a remote simulator which will display the simulator on Windows, meaning I never have to open, or … 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

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