IValueConverter con propiedades de dependencia vinculadas

Necesito determinar elStringFormat de alguna @ encuadernaTextBlocks en tiempo de ejecución basado en el sistema de unidades identificado en el objeto a vincular.

Tengo un convertidor con una propiedad de dependencia a la que me gustaría vincular. El valor enlazado se utiliza para determinar el proceso de conversión.

public class UnitConverter : DependencyObject, IValueConverter
{
    public static readonly DependencyProperty IsMetricProperty =
        DependencyProperty.Register("IsMetric", typeof(bool), typeof(UnitConverter), new PropertyMetadata(true, ValueChanged));

    private static void ValueChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
    {
        ((UnitConverter)source).IsMetric = (bool)e.NewValue;
    }

    public bool IsMetric
    {
        get { return (bool)this.GetValue(IsMetricProperty); }
        set { this.SetValue(IsMetricProperty, value); }
    }

    object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (IsMetric)
            return string.Format("{0:0.0}", value);
        else
            return string.Format("{0:0.000}", value);
    }

    object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

Declaro el convertidor

<my:UnitConverter x:Key="Units" IsMetric="{Binding Path=IsMetric}"/>

y enlazar el TextBlock

<TextBlock Text="{Binding Path=Breadth, Converter={StaticResource Units}}" Style="{StaticResource Values}"/>

Sin embargo, me sale el siguiente error:

System.Windows.Data Error: 2: No se puede encontrar FrameworkElement o FrameworkContentElement para el elemento de destino. BindingExpression: Path = IsMetric; DataItem = nulo; el elemento de destino es 'UnitConverter' (HashCode = 62641008); la propiedad de destino es 'IsMetric' (tipo 'Boolean')

Supongo que esto se está inicializando antes de configurar el contexto de datos y, por lo tanto, no hay nada que vincule laIsMetric propiedad a. ¿Cómo puedo lograr el resultado deseado?

Respuestas a la pregunta(2)

Su respuesta a la pregunta