我在xamarin表单上使用绑定到ObservableCollection<T>
的{{1}}。并且想要进行空列表验证并显示ListView
。
首次添加,删除或绑定数据时,我需要在列表视图中添加“EventHandler”。
可以从label
列表中获取添加和删除事件。但是,当列表第一次被限制时,没有事件发生。
答案 0 :(得分:2)
那怎么样?
<ListView.Triggers>
<DataTrigger Binding="{Binding FilteredTasks, Converter={StaticResource EmptyCollectionToBoolConverter}}" Value="true" TargetType="ListView">
<Setter Property="Header">
<Label Text="Ooops, there is nothing there."/>
</Setter>
</DataTrigger>
</ListView.Triggers>
并且转换器是:
public class EmptyCollectionToBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is ICollection collection)
{
return collection.Count == 0;
}
return true;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}