DataGrid 绑定命令到行选择

18 浏览
0 Comments

DataGrid 绑定命令到行选择

当用户在DataGrid中选择一行时,我想要执行一个命令。

我发现可以在单元格中用按钮包裹单元格内容(尽管我不想要按钮样式) - 但我不想在单元格级别上这样做。

我也发现可以使用行为将命令与事件关联起来。但最好不要为这样一个常见的任务而使用行为。

是否可以通过普通的命令数据绑定来实现这一点?

所以:1)用户点击DataGrid行 2)视图模型上的命令被触发。

0
0 Comments

问题原因:在.NET 5.0及以上版本中,Microsoft.Expression.Interactions已经过时,应该使用Microsoft.Xaml.Behaviors代替。因此,命名空间中的i应该是:xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

解决方法:根据最新的.NET版本,使用Microsoft.Xaml.Behaviors命名空间来绑定命令到行选择的DataGrid。具体的细节可以参考这里

0
0 Comments

问题:如何将DataGrid的行选择与命令绑定?

原因:为了实现将DataGrid的行选择与命令绑定,需要使用"Interactivity"程序集和SelectionChanged事件。

解决方法:有几种不同的解决方法可以实现将DataGrid的行选择与命令绑定。

1. 使用"Interactivity"程序集和SelectionChanged事件:


    
        
        
    
    
        
            
        
    

其中,"i"是命名空间:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

2. 使用DataGrid的SelectedItem属性绑定命令:


    
        
    

3. 当每个项具有自己的命令时:


    
        
    

4. 如果元素具有自己的视图模型,可以使用以下代码:


    
        
    

以上是将DataGrid的行选择与命令绑定的几种解决方法,根据具体情况选择合适的方法即可。

0