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

时间:2018-06-01 08:33:10

标签: c# xaml listview xamarin selecteditem

在我的项目中,我必须使用此插件: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"
    >

什么是&#34; FlowItemTappedCommand &#34;?它是TapGestureRecognizer而不是ItemSelected吗?我应该如何实现此命令?如何在ViewModel中获取现在选中(点击)的项目? 是否有详细的手册以及如何使用此插件的示例?

2 个答案:

答案 0 :(得分:1)

FlowItemTappedCommand="{Binding CityTappedCommand}"

执行命令:

public ICommand CityTappedCommand{ get; set; }

您可以在viewmodel

的构造函数中初始化它
CityTappedCommand = new Command(() => YourSub());

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

FlowLastTappedItem = "{Binding SelectedCity}"

然后在viewmodel中获取SelectedCity。

答案 1 :(得分:0)

  

什么是&#34; FlowItemTappedCommand&#34;?

是的,可能只是一个可以绑定到itemVm

的命令
  

是TapGestureRecognizer而不是ItemSelected吗?

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

  

我应该如何实施这个命令

与任何其他命令一样

  

如何在ViewModel中选择(点击)项目?

这是你在网上使用未记录的nuget的问题,谁知道?

然而,我只是想从源头上看一下。尝试

FlowLastTappedItem="{Binding LastTappedItem}"
  

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

老实说,这家伙有一个博客,在SO上可见,你应该把这些评论指向他,或者他的gitub页面,或者至少标记问题中的控件