for a single binding, we use:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}">
<Binding Path=EmployeeName/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
or a shorter syntax:
<TextBlock
Text="{MultiBinding StringFormat=\{0\}, Bindings={Binding Path=EmployeeName}}"/>
Now, if you have multibinding:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}, {2}">
<Binding Path="EmployeeName"/>
<Binding Path="Age"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
I was wondering, what would be its shorter syntax?
<TextBlock
Text="{MultiBinding StringFormat=\{0\}, Bindings={Binding ??????}"/>
According to MSDN, your second example (“shorter syntax using MultiBinding with a single Binding”) shouldn’t work, neither in .net 3.5 nor in .net 4.0:
So, if it works for you, that’s by accident, and it’s not supported behavior.
PS: You don’t need to use MultiBinding for a single binding. The following should suffice:
or
or even shorter