Xamarin.Forms DLToolkit FlowListView 如何获取所选项目?

Posted

技术标签:

【中文标题】Xamarin.Forms DLToolkit FlowListView 如何获取所选项目?【英文标题】:Xamarin.Forms DLToolkit FlowListView How to get selected item? 【发布时间】:2018-11-11 08:22:48 【问题描述】:

在我的项目中,我必须使用这个插件:https://github.com/daniel-luberda/DLToolkit.Forms.Controls/tree/master/FlowListView/DLToolkit.Forms.Controls.FlowListView

这是我的 XAML 的一部分:

    <flv:FlowListView 
        IsGroupingEnabled="true"
        FlowGroupDisplayBinding="Binding Path=Letter"
        FlowColumnCount="2" 
        FlowItemsSource="Binding CitiesAlphabet"
        FlowItemTappedCommand="Binding TapCity, Mode=TwoWay"
        x:Name="CityList"
    >

什么是“FlowItemTappedCommand”?是TapGestureRecognizer 而不是ItemSelected?我应该如何实现这个命令,我现在如何才能在 ViewModel 中选择(点击)项目?

是否有详细的手册以及如何使用此插件的示例?

【问题讨论】:

【参考方案1】:
FlowItemTappedCommand="Binding CityTappedCommand"

命令的实现:

public ICommand CityTappedCommand get; set; 

可以在viewmodel的构造函数中初始化

CityTappedCommand = new Command(() => YourSub());

要获取所选项目,您可以在 xaml 中添加以下内容:

FlowLastTappedItem = "Binding SelectedCity"

然后在您的视图模型中获取 SelectedCity。

【讨论】:

哈哈,你打败了我【参考方案2】:

什么是“FlowItemTappedCommand”?

是的,可能只是一个类似于 tapped 的命令,可以绑定到你的 itemVm。

是 TapGestureRecognizer 而不是 ItemSelected?

我不确定你在这里的意思,但基本上是的,当你点击该项目时,它会在你的虚拟机上发出一个命令。

我应该如何实现这个命令

真的和任何其他命令一样。

我现在如何才能在 ViewModel 中获得选中(点击)项目?

这是在网络上使用记录不足的掘金的问题,谁知道?

但是,我将通过查看源代码来尝试一下。试试:

FlowLastTappedItem="Binding LastTappedItem"

是否有任何详细的手册以及如何使用它的示例 插件

作者有一个博客,并且在 Stack Overflow 上可见,你真的应该将这些 cmets 指向他,或者他的 GitHub 页面,或者至少标记问题中的控件。

【讨论】:

是的,我有一些关于网络上记录不足的 nugets 的问题,无论如何,请寻求帮助!

以上是关于Xamarin.Forms DLToolkit FlowListView 如何获取所选项目?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms 仅在一个平台 (iOS) 上更改条目的占位符颜色和文本颜色

如何从解决方案中的文件加载 XML 文件,使用嵌入式资源构建?项目 > 跨平台 > Xamarin.Forms

Xamarin.Forms:如何在 Xamarin.Forms 跨平台项目中开发具有蓝牙连接的应用程序?

Xamarin.Forms:Forms.Context 已过时

Xamarin.Forms 手势密码实现

Xamarin.Forms 和 Xamarin Native 有啥区别? [关闭]