title: XAML nested binding StringFormat
body: <p>I am trying to display an adress label. what i want is if AddresssLine2 is not an empty string (its never null) it should display it then a newline (I'm using VB, so its &amp;#x0a), otherwise just display AddressLine2, which is an empty string, so in escense it is ignored. however, the StringFormat of the inner binding of AddressLine2 is completely ignored. it just displays the value of AddressLine2 and ignores the StringFormat. I even tried putting a constant only into StringFormat (StringFormat=" hi") but it ignored it and bound directly to AddressLine2.
  here is my markup.  </p>
  
  <pre><code>&lt;TextBlock.Text&gt;  
     &lt;MultiBinding StringFormat="{}{0} &amp;#x0a;{1}&amp;#x0a;{2} {3}, {4} {5}"&gt;  
       &lt;Binding Path="FullName" /&gt;  
       &lt;Binding Path="AddressLine1" /&gt;  
       &lt;Binding Path="AddressLine2" StringFormat="{}{0}&amp;#x0a;" /&gt;  
       &lt;Binding Path="City" /&gt;  
       &lt;Binding Path="State" /&gt;  
       &lt;Binding Path="ZipCode" /&gt;  
    &lt;/MultiBinding&gt;  
  &lt;/TextBlock.Text&gt;  
  </code></pre>
  
  <p>my question is: why does it ignore the inner StringFormat (I tried all different combinations; <code>"'{0}&amp;#x0a;'"</code>, <code>"'{}{0}&amp;#x0a;'"</code>, <code>" {0}&amp;#x0a;"</code>, none worked)?
  Also, is there a better way to do this (in XAML, I dont want a converter or any code behind)?</p>