private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
{
var viewModelContainerType = ViewModelContainerType;
if (_viewToViewModelMappingContainers[viewModelContainerType].ContainsViewModelToViewMapping(e.PropertyName))
{
ViewToViewModelMapping mapping = _viewToViewModelMappingContainers[viewModelContainerType].GetViewModelToViewMapping(e.PropertyName);
if (_ignoredViewModelChanges.Contains(mapping.ViewPropertyName))
{
Log.Debug("Ignored property changed event for ViewModel.'{0}'", mapping.ViewPropertyName);
}
else
{
if ((mapping.MappingType == ViewToViewModelMappingType.TwoWayDoNothing) ||
(mapping.MappingType == ViewToViewModelMappingType.TwoWayViewWins) ||
(mapping.MappingType == ViewToViewModelMappingType.TwoWayViewModelWins) ||
(mapping.MappingType == ViewToViewModelMappingType.ViewModelToView))
{
TransferValueFromViewModelToView(CurrentViewModel, mapping.ViewPropertyName, mapping.ViewModelPropertyName);
}
}
}
}