场景
数据维护页面,数据内容使用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>
标签:RadButton,控件,Telerik,绑定,RadGridView,Item,DeleteCommand From: https://www.cnblogs.com/hklol/p/16783438.html