One of the most compelling reasons to download an app is the number of Universal App Reviews in the store. This tutorial will look at adding a Review App Button to our completely empty About Page. There are various places you can surface the Review App Function, commonly it’ll be available on an About or Info page, or you may choose to have a Review Reminder. As with a number of things with UWP apps, the Universal App Review Method changed slightly from Windows Phone 8’s MarketPlaceTask, let’s take a look…
One of the rules of using MVVM is that your model shouldn’t need to know anything about the UI Layer, and your View should be decoupled from the Model via the ViewModel. It can often be necessary to have some form of conversion between what our Model understands and what the View would understand. A common example would be converting a boolean flag to a Visibility State, this is where Value Converters come in.
We’ll follow a slightly more domain specific example in this case, converting the TranslationDirection Enumeration Property to a Visibility State for our Morse Input User Control.
Despite the rise in popularity of Single Page Applications (SPAs) and supporting frameworks like Angular in the Web Development world, it might be nice if we had more than one page in our app, or at least had the option to. Our app so far is contained within a single page, MainPage.xaml. A common pattern is to have different pages for Settings or Publisher contact information. Navigation has moved on since Windows Phone 7.5 when it was URI based, we will look at how it now works with Universal Apps with typing and the MVVM Light implementation of INavigationService. Continue reading “Universal App Tutorials Part 10 : MVVM Light NavigationService”
In certain circumstances Visual Studio will quite happily suggest to add namespaces into Shared Projects that will then fail to compile. It’s an obvious issue to resolve, with the bottom line being that the Namespaces must exist in all Platform Projects in order for it to be referenced by the Shared Project.
Continue reading “Universal App Gotchas : Namespaces must exist in all Platform Projects”
User controls offer a way to abstract common areas of your User Interface in a reusable package, allowing you to simplify your views and push some of the complexity of your UI into more manageable pieces. This tutorial will focus on Data Binding to Properties on a User Control from a ViewModel.
By the end of this post we should have a basic User Control bound against some Commands living in the MainViewModel to manipulate the content of the Input, in our case, we’ll offer a way to input Morse Code (dots/dashes) outside of needing to use a Keyboard in preparation for extending the App to translate both ways from the User Interface.
Continue reading “Morse Coder Part 7 : Data Binding User Controls”
A few years back I signed up on https://dvlup.com. An incentive site to build on the Windows Phone platform ran by Nokia. Subsequently (along with the rest of the Nokia Lumia brand), it’s been bought under the Microsoft Banner and is now known as MSDN Rewards and can be found at https://rewards.msdn.microsoft.com.
Today I published a new app on the Windows Phone Store. It’s written as a Universal App as I’m intending to extend it to publish on the Windows Store.
It feels good getting a new app on the store as it’s been quite a while since I got round to finishing something new, the process has changed a bit since last time so it took a little while to get my head around it!
This is the first in a series of blog posts detailing the process of creating a new Universal App targeting Windows 8.1 and Windows Phone 8.1, from creation of the solution to publication to the store. The goal of the application is to translate between Morse Code and the standard Alphabet and vice-versa.
MVVM Light is an excellent MVVM toolkit by Laurent Bugnion that I’ve used on a number of apps currently published on the Windows Phone Marketplace.
Universal Apps (can, and do by default) use a shared code project in order to share code between platform specific Projects at compile time.