Некоторые примечания, которые я также нашел полезным:
Сохраняют Ваши значения по умолчанию на правой стороне.
function whatever($var1, $var2, $var3="constant", $var4="another")
значение по умолчанию аргумента должно быть константным выражением. Это не может быть переменная или вызов функции.
Для предоставления значения по умолчанию (используется когда цель привязки не может быть найдена) вы используете FallbackValue
, например:
Visibility="{Binding Path=IsDownloaded, FallbackValue=Collapsed}"
Это должно быть в случае отсутствия DataContext.