WPF datagrid双击事件获取双击的对象或值MVVM

it2023-08-10  72

在datagrid中 数据以table的形式存在 其实可以将整个datagrid看作是一个对象列表 当然 在MVVM的开发模式中 这个状态显而易见 往往我们将datagrid与一个ObservableCollection绑定 但是MVVM 没有EventHandler的盖帘,只有Command的概念 双击事件属于一个事件 这个时候就需要做一个转换 在xaml 文件中 导入

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

这么一行命名空间

然后再Datagrid下面这样写 为了方便我删去了多余的部分

<DataGrid ItemsSource="{Binding DeviceInfos}" > <i:Interaction.Triggers> <i:EventTrigger EventName="MouseDoubleClick"> <i:InvokeCommandAction Command="{Binding Path=DoubleClickItem}" CommandParameter="{Binding ElementName=da1,Path=SelectedItem}"/> </i:EventTrigger> </i:Interaction.Triggers> </DataGrid>

这样 双击的事件就会在绑定在DoubleClickItem这个命令上 后面则是绑定的参数,一并交给相应的ModelView层处理

学会了吗?

最新回复(0)