Working with the Bing Maps Metro style map in XAML

Win 8 xaml unfortunately does not supporting anything similar to TypeConverters to convert from strings to objects so some properties like Location end up being more verbose and less intuitive than in previous versions of Bing Maps xaml-compatible controls like Silverlight and WPF. In Silverlight one could set the Center inline:

<bm:Map Center="0,0" />

On the Win8 metro version of the map this looks a bit different:

<bm:Map>
  <bm:Map.Center>
    <bm:Location Latitude="0" Longitude="0" />
  </bm:Map.Center>
</bm:Map>

Other properties are similarly affected. The attached property MapLayer.Position for example:

<bm:Map>
  <bm:Map.Children>
    <Button Width="100" Height="40" Content="Button" bm:MapLayer.PositionAnchor="50,40" Background="Black">
      <bm:MapLayer.Position>
        <bm:Location Latitude="0" Longitude="0" />
      </bm:MapLayer.Position>
    </Button>
  </bm:Map.Children>
</bm:Map>

Note that MapLayer.PositionAnchor can be set inline since it is of type Point which is natively supported by the Xaml parser whereas it does not know how to convert from a string to a Location object so it needs a little help there.