Это связано с тем, что класс Binding имеет конструктор по умолчанию, используемый, когда у вас есть привязки типа {Binding FallbackValue='HelloWorld', Path=MyProperty}
, и конструктор с единственным аргументом Path.
Таким образом, при наличии списка пар свойство / значение привязка создается как
new Binding(){
Path="MyProperty"
ElementName="MyElement"
}
Вторая форма используется для привязок, таких как {Binding MyProperty, ...}
.В этом случае привязка создается как
new Binding("MyProperty"){
ElementName = "MyElement",
...
}
Всегда правильно (и, возможно, более правильно) указывать Path =, но вы можете обойтись без него.