Xaml 如果Xamarin中的绑定为null,我如何将按钮的可见性默认为false

Xaml 如果Xamarin中的绑定为null,我如何将按钮的可见性默认为false,xaml,binding,xamarin.forms,Xaml,Binding,Xamarin.forms,显然在Xamarin表单中没有使用FallbackValue或TargetNullValue的选项,我如何使用转换器来完成任务 如果数据绑定对象为null,我希望可见性默认为null NullConverter.cs public class NullConverter : IMarkupExtension, IValueConverter { public object IsNullValue { get; set; } public object IsNotNullValu

显然在Xamarin表单中没有使用FallbackValue或TargetNullValue的选项,我如何使用转换器来完成任务

如果数据绑定对象为null,我希望可见性默认为null

NullConverter.cs

public class NullConverter : IMarkupExtension, IValueConverter
{
    public object IsNullValue { get; set; }

    public object IsNotNullValue { get; set; }

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value == null ? IsNullValue : IsNotNullValue;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    public object ProvideValue(IServiceProvider serviceProvider)
    {
        return this;
    }
}
XAML



在我的测试中,
WhateverProperty
是一个最初设置为null的字符串,每当我更新
条目时,按钮就会出现。当然,您可以将其用于任何类型的属性。

整个绑定上下文都将为null?是的,如果上下文本身为null。
<Entry Text="{Binding WhateverProperty}" />
<Button IsVisible="{Binding WhateverProperty, Converter={local:NullConverter IsNullValue=False, IsNotNullValue=True}}" />