Jared Parsons – lead of the C# Compiler Team at Microsoft
Picker within Listview
We needed to put a picker inside a list view in a Xamarin.Forms app, but we wanted to be notified when one of the pickers changed and be able to get the value from the picker (and know which one changed).
The complete source for this example is on GitHub.

My first impulse was to use EventToCommand, but that became a rabbit hole, and thanks to Lance and others on the Xamarin Community Forums, and email, I was redirected to a simpler approach that I will explain here.
We begin with a DataTemplate that we will use with our ListView.
Continue readingOpen a dialog from VM using Events
This is a quick summary of how I open a dialog box from the view model. There are other ways to do this (as noted in previous postings), but this is easy, easy to maintain and puts most of the logic in the view model.
Continue readingXamarin.Forms Shell
Focus on Xamarin.Forms Shell – the new way to create great Xamarin.Forms applications. We go in-depth with Shane Neuville, a Senior Developer on the Xamarin.Forms team.

Shell Forms Introduction
Project Board
Xaminals
Xappy
Shell Login Sample
Gastropods
Mark Price – C# & .NET Core
Mark Price, author of C# 8 and .NET Core 3.0 Modern Cross Platform Development talks about… well about everything .NET A fantastic exploration of what is new in C#, .NET Core, Blazor, and much more,

Xamarin Coding Standards
There are many best practices in writing Xamarin. Here are some that we’ve canonized where I work…
👍 By convention the identifier for the ViewModel is vm
😠 Do not assign more than one page to a view model. Generally speaking: it should be one page to one view model
Continue readingC# Coding Standards
Let’s face it, most coding standards are arbitrary. The key to a successful project, however, is not which standards you follow, but that you are consistent.
Here is a partial list of the C# coding standards my team uses and advocates. Most of these are industry-wide conventions and thus using them will ensure that your code is easily readable by people who are not you. (Many thanks to Adam for letting me post this here)
👍 use PascalCasing for class names and method names.
public class ClientActivity
{
public void ClearStatistics()
{
//...
}
public void CalculateStatistics()
{
//...
}
}
Why: consistent with the Microsoft’s .NET Framework and easy to read.
👍 use camelCasing for method arguments and local variables.
public class UserLog
{
public void Add(LogEvent logEvent)
{
var itemCount = logEvent.Items.Count;
// ...
}
}
Continue readingWhy: consistent with the Microsoft’s .NET Framework and easy to read.
Shawn Wildermuth

Shawn Wildermuth has been tinkering with computers and software since he got a Vic-20 back in the early ‘80s.
As a Microsoft MVP since 2003, he’s also involved with Microsoft as an ASP.NET Insider and ClientDev Insider. You may have taken one of his more than twenty courses on Pluralsight
He’s authored eight books and innumerable articles on software development. You can also see him at one of the local and international conferences he’s spoken at including TechEd, Oredev, SDC, NDC, VSLive, DevIntersection, MIX, Devteach, DevConnections and Dev Reach.
He is one of the Wilder Minds. You can reach him at his blog. He’s also making his first, feature-length, documentary about software developers today called “Hello World: The Film”. You can see more about it here.
Mads on C# 8 Design
Microsoft’s Mads Torgersen– Lead Designer of C# — talks about creating programming languages and what’s new in C# 8. Do not miss this one!

Overview of C# 8.0: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8
The wonderful bridge toll tutorial on pattern matching: https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/pattern-matching
Brand new blog post by Mads on adopting nullable reference types: https://devblogs.microsoft.com/dotnet/embracing-nullable-reference-types/
The “9.0 candidate” milestone on csharplang – the long list of potential features for C# 9.0. Clearly we won’t do all of them!: https://github.com/dotnet/csharplang/issues?q=is%3Aopen+is%3Aissue+milestone%3A%229.0+candidate%22
C# 8 Nullable Types
I recently released a two-part course on C# 8. The first part is for beginning programmers. The second part is for intermediate to advanced programmers.
This post is the first in a series that focuses on the new features in C# 8.
I recently had Mads Torgenson on my Podcast. Mads is the lead designer of C#. I asked him what the most important new feature of C# is, and he replied (somewhat to my surprise) Nullable Types.
Every one of us has crashed and burned on the dreaded “object reference” exception. Null Reference types are designed to avoid these by expressing which objects might be null and having the editor issue a warning if you create an instance that might be null and try to dereference it.
Let’s look at an example…
Continue readingJon Galloway!
Microsoft’s Jon Galloway talks about the .NET Foundation and about .NET Core. As always with him, an amazing conversation.
C#8 De Principiante a Experto Parte 1
