Оператор XAML 'NOT'?

<Button IsEnabled="{Binding (Not IsDisabled)}" />

Есть ли способ сделать это с чистым xaml, или мне придется делать это с помощью кода? PS. Я задал вопрос, зная, что я могу создать логический преобразователь следующим образом:

<ValueConversion(GetType(Boolean), GetType(Boolean))> 
Public Class BooleanFlagSwitchConverter : Implements IValueConverter

    Public Function Convert(value As Object, targetType As Type, 
            parameter As Object, culture As CultureInfo) As Object 
            Implements IValueConverter.Convert
        Return Not value
    End Function

    Public Function ConvertBack(value As Object, targetType As Type, 
            parameter As Object, ByVal culture As CultureInfo) As Object 
            Implements IValueConverter.ConvertBack
        Return Not value
    End Function

End Class

[ValueConversion(typeof(bool), typeof(bool))]
public class BooleanFlagSwitchConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, 
        CultureInfo culture)
    {
        return !(bool)value;
    }

    public object ConvertBack(object value, Type targetType, object parameter, 
        CultureInfo culture)
    {
        return !(bool)value;
    }
}

Ответы

Ответ 1

Он не существует. Посмотрите на свойства в классе Binding. Там ничего, кроме конвертера, который сделает то, что вы хотите.

Ответ 2

Я бы рекомендовал использовать https://quickconverter.codeplex.com/

Инвертирование логического значения тогда просто: <Button IsEnabled="{qc:Binding '!$P', P={Binding IsDisabled)}" />

Это ускоряет время, необходимое для записи преобразователей.