この場合、おそらく最も簡単な方法は、コンバーターを作成することです。
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()
て文字列にします...