DANIEL VAUGHAN

UWP Form Validation with the Calcium MVVM Framework

21 Jan 2017

I’ve published a new CodeProject article covering form validation in Calcium. While the form validation APIs are cross-platform, this article is specific to UWP. It could however be applied to WPF, Xamarin Android & iOS. In this article, you see how to perform both synchronous and asynchronous form validation in a UWP app. You see how set up viewmodel properties for validation, both declaratively and programmatically. You look at how to define your validation logic...

Read more


Building A Puzzle Game With Xamarin Forms

15 Nov 2016

My latest article is a fun Xamarin Forms implementation of the game Sokoban, demonstrating how to port a UWP puzzle game to both Android and iOS while sharing nearly all code across platforms.

Read more


Uwp Alien Sokoban Part 1

13 Oct 2016

I had some fun over the last couple of days writing up an article on using UWP to create a sokoban puzzle game implementation. You can find the first part over at http://www.codeproject.com/Articles/1138427/UWP-Sokoban-Part Below is a screen shot of the game.

Read more


Obfuscating Multiple Xamarin Android Projects With Dotfuscator

11 Jul 2016

For a while I’ve been using Dotfuscator to obfuscate my Windows Phone and UWP apps. It’s a great product and PreEmptive have excellent support. Recently I ported a large app to Xamarin Android. I was pleased that the obfuscation process was easy to integrate into the build process. There’s a good starter article here. The steps laid out in the article work great if you’re only obfuscating the single assembly of your launchable Xamarin Android...

Read more


Using Resw Files With Uwp Compiled Bindings

30 Sep 2015

Introduction With UWP and WinRT, Microsoft introduced a new means for localizability, which differs significantly from the method employed in Silverlight and .NET desktop apps. The new model allows you to localize all aspects of your UI, including element dimensions, using x:Uid element identifiers. The downside is that you don’t get the nice static typing that used to come for free with resx code generation. In this article you see how to generate classes from...

Read more