gpt4 book ai didi

c# - WPF: ListView :使用 MVVM 模式在 ListView 项目上绑定(bind)双击事件

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:15 24 4
gpt4 key购买 nike

我使用 MVVM 模式绑定(bind) ListView 控件的 Item 源,使用下面的 xaml 代码绑定(bind)双击事件,

实现使用:

  <i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<z:EventToCommand Command="{Binding RelativeSource={RelativeSource TemplatedParent},Path=MouseDoubleClick}"/>
</i:EventTrigger>

当我双击 ListView 项目时,无法执行我的功能。

如何在 MVVM 模式中有效地附加双击事件?

最佳答案

我在我的项目中使用它。

 <DataGrid.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick"
Command="{Binding Path=EditEntityCommand}"
CommandParameter="{Binding ElementName=DataGrid, Path=SelectedItem}"/>
</DataGrid.InputBindings>

好的,对于 ListView,您必须将 Binding 设置为 ListViewItems

    <ListView x:Name="listView1" Grid.Row="2" ItemsSource="{Binding VmUsers}">
<ListView.ItemTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding}">
<ContentPresenter.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick"
Command="{Binding DataContext.MyCommand, ElementName=listView1}"
CommandParameter="{Binding ElementName=listView1,Path=SelectedItem}"/>
</ContentPresenter.InputBindings>
</ContentPresenter>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

或者你使用交互工具

<ListView Name="listView1" ItemsSource="{Binding Cars}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="LeftDoubleClick">
<i:InvokeCommandAction Command="{Binding ItemSelectCommand}" CommandParameter="{Binding ElementName=listView1,Path=SelectedItem}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ListView>

关于c# - WPF: ListView :使用 MVVM 模式在 ListView 项目上绑定(bind)双击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33730038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com