如何在Xamarin Forms中向ListView添加DataBound事件处理程序?

时间:2017-08-31 19:28:34

标签: c# xaml listview xamarin xamarin.forms

我在xamarin表单上使用绑定到ObservableCollection<T>的{​​{1}}。并且想要进行空列表验证并显示ListView

首次添加,删除或绑定数据时,我需要在列表视图中添加“EventHandler”。

可以从label列表中获取添加和删除事件。但是,当列表第一次被限制时,没有事件发生。

1 个答案:

答案 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();
    }
}