在这种情况下,最简单的方法可能是编写一个转换器:
public class PhysicalAdressConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var address = value as PhysicalAddress;
        if (address != null)
            return address.ToDelimitedString();
        return value;
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}
并在绑定中指定此转换器PhysicalAddress
如果您使用的是 MVVM 模式,您还可以创建一个执行格式化并绑定到该属性的属性:
public string FormattedPhysicalAddress
{
    get { return this.PhysicalAddress.ToDelimitedString(); }
}
顺便说一句,绑定不会ToString()像您假设的那样绑定到方法。它绑定到值本身,但如果目标类型是string,那么它调用ToString()使其成为字符串......