WPF ListView 双击事件绑定 到 RelayCommand

发布时间 2024-01-03 14:02:54作者: 悠哉境園

xaml 代码:
<ListView Grid.Row="0" Width="195" Margin="0 3 0 0" x:Name="ListView1" ScrollViewer.HorizontalScrollBarVisibility="Disabled" MouseDoubleClick="ListView_DoubleClick" ItemsSource="{Binding RecipeList}" SelectedItem="{Binding SelectedRow}"> <ListView.ContextMenu> <ContextMenu Width="100"> <MenuItem Header="重命名" Command="{Binding ListviewMenuitem_Rename }" CommandParameter="{Binding SelectedRow}"/> </ContextMenu> </ListView.ContextMenu> <ListView.View > <GridView > <GridViewColumn Header="配方名" DisplayMemberBinding="{Binding RecipeName}" Width="190" /> </GridView> </ListView.View> </ListView>

viewModel 代码:
`public RelayCommand EditCommand
{

        get
        {
            var command = new RelayCommand(() =>
              {
                  System.Diagnostics.Debug.WriteLine("MouseDoubleClick Command .");
                  Recipe.CheckedName = SelectedRow.RecipeName;

              });
            return command;
        }
        private set { }
    }`

Window 代码:
private void ListView_DoubleClick(object sender, MouseButtonEventArgs e) { var vm = this.DataContext as RecopeViewModel; vm.EditCommand.Execute(vm); }