使用带有标签可见性 Xamarin 表单的转换器时如何将默认值设置为 false

Arv*_*iya 5 xaml converters xamarin xamarin.forms

我正在使用具有Label'sIsVisible属性的转换器。

<Label IsVisible="{Binding products, Converter={StaticResource EmptyCollectionToBoolConverter}}" Text="No data found">  
Run Code Online (Sandbox Code Playgroud)

如果products为空则EmptyCollectionToBoolConverter返回true,否则返回false。第一次加载屏幕时,“未找到数据”消息会出现几分之一秒,然后数据就会加载。

我想修复它,只有当何时products为空时我才需要显示标签。我该怎么做?

小智 3

如果您使用 CollectionView ,则可以使用 EmptyView 当集合为空时,它将显示您在 XAML 中输入的任何内容。

或者您可以实现同时实现emptyViewTemplate 的bindablelayout 。

或者您将必须创建另一个绑定或另一个转换器。

就像是public bool MyBinding{get=> myList!=null | myList.Count != | isLoadingFlag }。但是如果修改集合,则必须调用 propertychanged 事件