首页 > 其他分享 >MVVM模式下Telerik.RadGridView控件中RadButton按钮绑定命令无法触发

MVVM模式下Telerik.RadGridView控件中RadButton按钮绑定命令无法触发

时间:2022-10-12 09:44:57浏览次数:77  
标签:RadButton 控件 Telerik 绑定 RadGridView Item DeleteCommand

场景

数据维护页面,数据内容使用Telerik.RadGridView控件,通过点击下方newrow添加数据,误操作需要删除一行信息;
希望点击RadButton后执行对应的操作,但是设置RadButton的 Command="{Binding DeleteCommand}"后触发不了操作

分析

因为RadGridView的ItemsSource绑定了ObservableCollection<Item>,ObservableCollection<Item>是一个Item类的列表,RadGridView里面控件的DataContext就成了Item也就是里面控件的Binding都是Item的属性。而Item里没有DeleteCommand,所以就不能触发操作了

解决

把RadButton的Command绑定为ViewModel里面的DeleteCommand就好了,而RadGridView的DataContext就是ViewModel

<telerik:RadButton Content="删 除">
    <inter:Interaction.Triggers>
        <inter:EventTrigger EventName="Click">
            <cmd:EventToCommand Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=telerik:RadGridView}, Path=DataContext.DeleteCommand}" CommandParameter="{Binding}"></cmd:EventToCommand>
        </inter:EventTrigger>
    </inter:Interaction.Triggers>
</telerik:RadButton>

WPF中DataGrid控件内Button的Command和CommandParameter的绑定

标签:RadButton,控件,Telerik,绑定,RadGridView,Item,DeleteCommand
From: https://www.cnblogs.com/hklol/p/16783438.html

相关文章