c# - XAML 上的 Xamarin Forms ListView ItemTapped/ItemSelected 命令绑定(bind)

标签 c# mvvm binding xamarin

如何将我的 ViewModel(当前在 BindingContext 中)的 ICommand 对象绑定(bind)到 XAML 中 ListView 的 ItemTapped 或 ItemSelected?

使用 Button 时这是一项简单的任务,我只需设置 Command="MyViewModelCommand"一切正常。

最佳答案

当您可以直接在 ViewModel 中直接获取选定/点击的对象时,我不确定为什么需要在页面中提供 Item Selected 或 Item Tapped 事件:

我认为您已经使用以下类型的代码绑定(bind)了 ListView

<ListView ItemsSource="{Binding PermitDetails}" 
SelectedItem="{Binding objItemSelected, Mode=TwoWay}" x:Name="lst" 
RowHeight="35" HorizontalOptions="FillAndExpand" 
VerticalOptions="Fill">

在与页面绑定(bind)的 View 模型中,您必须定义属性 objItemSelected,如下面的代码所示

private Permit _ItemSelected;
public Permit objItemSelected {
    get {
        return _ItemSelected;
    }
    set {
        if (_ItemSelected != value) {
            _ItemSelected = value;
            OnPropertyChanged ("ItemSelected");
        }
    }
}

如果您想执行任何其他功能,如导航到详细信息页面,您可以在执行 OnPropertyChanged 语句后从设置属性执行此操作。

希望这对您有所帮助!

关于c# - XAML 上的 Xamarin Forms ListView ItemTapped/ItemSelected 命令绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24792991/

相关文章:

c# - 使用对 EnumFontFamiliesEx 的 DLL 调用在 C# 中枚举事件字体让我很沮丧

c# - IEnumerable<T> 线程安全?

c# - 动态生成8位Unicode转字符

c# - 在ViewModel中修改后,String属性在View中不会更新

wpf - 在 XAML 中关联 View 和 ViewModel 对,无需重复代码

c# - Monotouch Binding 项目构建错误

c# - .NET 3.5 的 Lazy<T> 实现

wpf - 从 MVVM WPF 中的 View 属性组成复杂模型对象(在 View 模型内)的新模型对象[递归]

javafx - FXML:绑定(bind)到 Controller

c# - 绑定(bind)到 "IsExpanded"不适用于 TreeView 中的根节点