I have the following binding

```
<Display.Value>
    <MultiBinding StringFormat="{}{0} ({1})">
          <Binding Path="Nickname" />
          <Binding Path="FullName"  />
    </MultiBinding>
</Display.Value>

```

According to the [MultiBinding class documentation](http://msdn.microsoft.com/en-us/library/system.windows.data.multibinding.aspx), this is the correct syntax. However, when I bind it on a value property, only an empty string show up. This property works when I use SingleBinding or just a normal Binding, though.

```
public object Value
{
    get { return (object)GetValue(ValueProperty); }
    set { SetValue(ValueProperty, value); }
}

public static readonly DependencyProperty ValueProperty =
        DependencyProperty.Register("Value", typeof(object), typeof(Display), new PropertyMetadata(String.Empty));

```

However, when I bind my multibinding on another attached property (this time, the type is string)

```
    public string Caption
    {
        get { return (string)GetValue(CaptionProperty); }
        set { SetValue(CaptionProperty, value); }
    }

    public static readonly DependencyProperty CaptionProperty =
        DependencyProperty.Register("Caption", typeof(string), typeof(Display), new PropertyMetadata(String.Empty));

```

Any idea why multibinding does not work with `Value` but works with `Caption`? Is it because of the object type of Value? How can I make MultiBinding work with `Value`?