I'm having an issue with a binding that I'm trying to implement. It will update the DP once, but after that, it's never updated again.

In XAML I have two controls binding to a listview.selected item.

`<controls:MapControl DataContext="{Binding ElementName=availableMapsListView, Path=SelectedItem}" MapData="{Binding .}">`

and

`<TextBlock DataContext="{Binding ElementName=availableMapsListView, Path=SelectedItem}" Text="{Binding Name}" />`

The textblock update as expected with each change of the listview's selected item.

My custom control creates the dependency property like so:

```
public class MapControl : UserControl
{
  public MapData MapData
    {
        get { return (MapData)GetValue(MapDataProperty); }
        set { SetValue(MapDataProperty, value); }
    }

    public static readonly DependencyProperty MapDataProperty =
        DependencyProperty.Register("MapData", typeof(MapData), typeof(MapControl),
            new FrameworkPropertyMetadata(
                null,
                FrameworkPropertyMetadataOptions.AffectsRender,
                new PropertyChangedCallback(OnMapDataPropertyChanged),
                new CoerceValueCallback(OnMapCoerceValue)
            )
        );

    private static void OnMapDataPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
    {
        if (e.NewValue != null)
        {
            ((MapControl)source).MapData = (MapData)e.NewValue;                
        }
    }

    private static object OnMapCoerceValue(DependencyObject dpo, Object obj)
    {           
        return obj;
    }
    ...
}

```

I'm pretty much at my wits end and not sure what I should do from here. Any help is greatly appreciated.