private void OnViewModelContainerPropertyChanged(object sender, PropertyChangedEventArgs e)
{
var viewModelContainerType = ViewModelContainerType;
if (_viewToViewModelMappingContainers[viewModelContainerType].ContainsViewToViewModelMapping(e.PropertyName))
{
ViewToViewModelMapping mapping = _viewToViewModelMappingContainers[viewModelContainerType].GetViewToViewModelMapping(e.PropertyName);
if (_ignoredViewChanges.Contains(mapping.ViewPropertyName))
{
Log.Debug("Ignored property changed event for view.'{0}'", mapping.ViewPropertyName);
}
else
{
if ((mapping.MappingType == ViewToViewModelMappingType.TwoWayDoNothing) ||
(mapping.MappingType == ViewToViewModelMappingType.TwoWayViewWins) ||
(mapping.MappingType == ViewToViewModelMappingType.TwoWayViewModelWins) ||
(mapping.MappingType == ViewToViewModelMappingType.ViewToViewModel))
{
TransferValueFromViewToViewModel(CurrentViewModel, mapping.ViewPropertyName, mapping.ViewModelPropertyName);
}
}
}
}