Connecting Your Windows and Uno Platform App to ChatGPT with Azure.AI.OpenAI

In today’s digital world, integrating AI into your applications has become increasingly important. One powerful AI model that you can leverage is OpenAI’s GPT, known for its natural language processing capabilities. In this blog post, we’ll guide you through the process of connecting your Windows app to ChatGPT using the Microsoft Azure.AI.OpenAI library, allowing you … Read more

Managing Dependencies in Windows and Cross Platform Applications

As with all software managing dependencies in often a lot harder than it seems, particularly when there are conflicting priorities. In this post I’m going to talk about some of the challenges developers face relating to dependencies when building Windows and cross/multi platform applications using .NET, the Windows App SDK and the Uno Platform. I’ll … 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

Designing and Building Windows Applications using Figma and the Uno Platform

Last week, the Uno Platform officially launched their Figma Plugin which works in parity with the Uno Platform Material Toolkit to support both designers and developers with the process of designing applications. If you haven’t already, check out the announcement post that provides a high level overview of both the plugin and toolkit. In this post we’ll … 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

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

Comparing MVVM and MVUX for building a Multi-Platform Application using .NET, C# and XAML with the Uno Platform

The purpose of this post is two fold, firstly to provide an introduction to Model-View-Update-eXtended (MVUX), as developed by the Uno Platform, and secondly to provide a comparison to the more traditional Model-View-ViewModel (MVVM) approach to building XAML-based applications. In order to do this, we’ll first walk through building a simple MVVM based application where … Read more

VisualTransition and State Animations in WinUI and the Windows App SDK

One of the things that sets WinUI apart from other UI frameworks is that provides a declarative way to define visual states for a control or a page. It also allows for the transitions between states to be defined. In this post we’re going to cover how to define both transitions and state animations and … Read more

How to Disable Individual GridView and ListView Items in a XAML Application (WinUI + Uno Platform)

One of the most significant aspects of the XAML based applications is the concept of lookless controls. I’ve covered this topic a bit in the past but in summary it means that controls can be restyled without changing the behaviour. The Windows App SDK and the Uno Platform provide out of the box styles for … 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

Fixing Broken DefaultButtonStyle in Windows UI (WinUI) / WinAppSdk

In writing my previous post on Implicit and Explicit Styles in XAML I was reminded of a bug in the definition of the DefaultButtonStyle which prevents you setting the Foreground colour of a Button. The issue is documented, along with the fix, in this issue but for whatever reason (and I can’t think of one … Read more

Control the Window of your WinForms, WPF or Windows UI (WinUI) app using the Windows App SDK

Code sample for this post is on GitHub: AppWindowSample One of the more significant differences between building apps for mobile devices, such as iOS and Android, and desktop pcs (Windows or Mac) is the concept of windows. On a mobile device, your app typically runs full screen, or perhaps split screen on some devices, so … Read more

Packaged, Unpackaged and Self-Contained WinUI 3 Apps with the Windows App Sdk

As we get progressively closer to the v1 release of the Windows App Sdk I thought it worth looking into the different deployment/packaging options you have. In this post we’re going to look at the startup logic for a WinUI 3 Desktop application and discuss how this relates to the different packaging options that are … Read more