Trying the following worked for me:
MyMap.Loaded += (s, e) =>
{
var origin = new Pushpin();
origin.Location = new Location(39.768403, -86.158068);
var destination = new Pushpin();
destination.Location = new Location(33.748995, -84.387982);
// Adds the pushpin to the map.
MyMap.Children.Add(origin);
MyMap.Children.Add(destination);
var locations = new List<Location>();
locations.Add(origin.Location);
locations.Add(destination.Location);
// problem code below
LocationRect boundingBox = new LocationRect(locations);
MyMap.SetView(boundingBox);
};
The only thing with this is that only one pushpins appears. The reason for this is that the bounding box is based on the coordinates and as such the tip of the second pushpin is actually in view. To account for this we need to buffer the bounding box. A simple way to do this is actually to use a different version of the SetView method like this:
MyMap.SetView(locations, new Thickness(30), MyMap.Heading);