Xamarin.forms 如何实现listView“;“快速过滤”;喜欢周日历视图吗?

Xamarin.forms 如何实现listView“;“快速过滤”;喜欢周日历视图吗?,xamarin.forms,Xamarin.forms,我创建了一个特定于客户的任务管理应用程序,将任务放置在特定的日期(有时是几个小时),但在这里日期很重要 我使用的是listView,并且为除今天之外的其他选定日期设置了日期选择器。到目前为止还不错 我想实现一个周快速过滤选项,例如,当前周的日期显示在列表视图的顶部,单击某个日期将相应地过滤列表视图。有点像标准的outlook周视图 我如何以最好的方式做到这一点? 我放在listView上方的CustomControl? 寻呼机控制 非常感谢您的任何想法或建议 另外,我需要能够同时针对Androi

我创建了一个特定于客户的任务管理应用程序,将任务放置在特定的日期(有时是几个小时),但在这里日期很重要

我使用的是listView,并且为除今天之外的其他选定日期设置了日期选择器。到目前为止还不错

我想实现一个周快速过滤选项,例如,当前周的日期显示在列表视图的顶部,单击某个日期将相应地过滤列表视图。有点像标准的outlook周视图

我如何以最好的方式做到这一点? 我放在listView上方的CustomControl? 寻呼机控制

非常感谢您的任何想法或建议


另外,我需要能够同时针对Android和iOS。

在ViewModel中设置两个属性,一个用于包含所有项目
EnticRecollection
,另一个用于存储过滤项目
FilteredCollection
。在按钮上,单击使用Where从整个列表中派生筛选项

视图模型

公共类视图模型:INotifyPropertyChanged
{
私有可观测集合筛选集合;
公共可见集合筛选集合
{
得到
{
返回筛选集合;
}
设置
{
filteredCollection=值;
OnPropertyChanged();
}
}
私人可观察的收集或回忆;
公众可观察的收集整体回忆
{
得到
{
回归回忆;
}
设置
{
回忆=价值;
OnPropertyChanged();
}
}
公共视图模型()
{ ...
this.FilterCollection=this.EntireCollection;
...
}
}
点击按钮

void按钮\u已单击(System.Object sender,System.EventArgs e)
{
DateTime selectedDate=((DateTime)((发送者作为VisualElement.BindingContext)).Date;
viewModel.FilteredCollection=新的ObservableCollection(viewModel.EnticRecollection.Where(x=>
{
if(DateTime.Equals(x.DateAdded,selectedDate))
{
var asd=x.DateAdded.Day;
返回true;
}
返回false;
}));
}
XAML



希望能有帮助

你正在思考的草图会非常有用。尝试(此)[用于显示一周的日期。用于排序,使用Linq的Where方法。谢谢。正是我缺少的。我发现了一个图形布局,看起来很棒。我正在修改它,根据你的建议,我将立即启动并运行: