Yesterday I spent some time tracking down a problem with a converter. I was trying to show an icon when the ReviewReasonId, int property of an object had a non-zero value. I was passing ReviewReason.ReviewReasonId into the converter. The problem was when ReviewReasonId was null the converter was not getting called at all.
< Image Grid.Column="0" Source="Resources/ExclamationSign.ico"
Visibility="{Binding Path=ReviewReason.ReviewReasonId, Mode=OneWay,
UpdateSourceTrigger=PropertyChanged,
Converter={StaticResource ReviewReasonVisibilityFormatter}}"/>
Finally I realized that if ReviewReason is null, as opposed to ReviewReasonId, the converter is not called. I simply removed .ReviewReasonId, bound to ReviewReason instead, cast the object as a ReviewReason and checked for the ReviewReasonId property and all is well.