Just for giggles do you have any sort of logging going on, using the built- in stubs? You might have to setup to send to the debug console.
Also
<Button Visibility="Visible" Content="Add Caller" Command="{Binding AddCallerCommand}" VerticalAlignment="Bottom"/>
can look like this...
<Button x:Name="AddCallerCommand" Content="Add Caller" />
then you can add a guard bool property named like such "CanAddCallerCommand" with some reason to make it enabled/disabled not necessary to bind to the Command property... CM does this automatically if you are using the built in conventions.
public bool CanAddCallerCommand { return someReason;}
but you will have to NotifyPropertyChanged( "CanAddCallerCommand" ); when the value changes... Minor but it might help in the long run...
I am still not seeing where this would be an issue unless the object isn't getting passed through your instantiation in ActivateItem();
Also
<Button Visibility="Visible" Content="Add Caller" Command="{Binding AddCallerCommand}" VerticalAlignment="Bottom"/>
can look like this...
<Button x:Name="AddCallerCommand" Content="Add Caller" />
then you can add a guard bool property named like such "CanAddCallerCommand" with some reason to make it enabled/disabled not necessary to bind to the Command property... CM does this automatically if you are using the built in conventions.
public bool CanAddCallerCommand { return someReason;}
but you will have to NotifyPropertyChanged( "CanAddCallerCommand" ); when the value changes... Minor but it might help in the long run...
I am still not seeing where this would be an issue unless the object isn't getting passed through your instantiation in ActivateItem();