gpt4 book ai didi

xaml - 如果绑定(bind)在 Xamarin 中为 null,我将如何默认按钮的可见性为 false

转载 作者:行者123 更新时间:2023-12-05 01:43:32 27 4
gpt4 key购买 nike

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

如果数据绑定(bind)对象为空,我希望可见性默认为空。

最佳答案

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

<Entry Text="{Binding WhateverProperty}" />
<Button IsVisible="{Binding WhateverProperty, Converter={local:NullConverter IsNullValue=False, IsNotNullValue=True}}" />

对于我的测试,WhateverProperty 是一个最初设置为 null 的字符串,每当我更新 Entry 时,按钮就会出现。当然,您可以将它与任何类型的属性一起使用。

关于xaml - 如果绑定(bind)在 Xamarin 中为 null,我将如何默认按钮的可见性为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49177584/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com