Fehler beim Binden mit Markup-Erweiterungen: Beim Parsen einer Markup-Erweiterung ist eine unbekannte Eigenschaft aufgetreten

Im Prinzip habe ich eine nette Methode entwickelt, um RadioButtons an fast alles zu binden:

/// <summary>Converts an value to 'true' if it matches the 'To' property.</summary>
/// <example>
/// <RadioButton IsChecked="{Binding VersionString, Converter={local:TrueWhenEqual To='1.0'}}"/>
/// </example>
public class TrueWhenEqual : MarkupExtension, IValueConverter
{
    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        return this;
    }

    public object To { get; set; }

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return object.Equals(value, To);
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if ((bool)value) return To;
        throw new NotSupportedException();
    }
}

Sie können dies beispielsweise verwenden, um RadioButtons wie folgt an eine Zeichenfolgeneigenschaft zu binden (es ist ein bekannter Fehler, dass Sie einen eindeutigen Gruppennamen für jeden RadioButton verwenden müssen):

<RadioButton GroupName="G1" Content="Cat"
    IsChecked="{Binding Animal, Converter={local:TrueWhenEqual To='CAT'}}"/>
<RadioButton GroupName="G2" Content="Dog"
    IsChecked="{Binding Animal, Converter={local:TrueWhenEqual To='DOG'}}"/>
<RadioButton GroupName="G3" Content="Horse"
    IsChecked="{Binding Animal, Converter={local:TrueWhenEqual To='HORSE'}}"/>

Nun möchte ich nutzenpublic static readonly Objekte aufgerufenFilter1 undFilter2 als die Werte meiner RadioButtons. Also habe ich versucht:

<RadioButton GroupName="F1" Content="Filter Number One"
    IsChecked="{Binding Filter, Converter={local:TrueWhenEqual To='{x:Static local:ViewModelClass.Filter1}'}}"/>
<RadioButton GroupName="F2" Content="Filter Number Two"
    IsChecked="{Binding Filter, Converter={local:TrueWhenEqual To='{x:Static local:ViewModelClass.Filter2}'}}"/>

Aber das gibt mir einen Fehler:

Unbekannte Eigenschaft 'To' für Typ 'MS.Internal.Markup.MarkupExtensionParser + UnknownMarkupExtension', die beim Analysieren einer Markup-Erweiterung festgestellt wurde.

Der Fehler tritt weiterhin auf, wenn ich die Anführungszeichen entferne. Was mache ich falsch?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage