我有一个带有多个行和列的telerik RadGridView。其中一列包含一个按钮,该按钮调用我的ViewModel的命令。
这是我的专栏说明:
<telerikGrid:RadGridView.Columns>
<telerikGrid:GridViewColumn Width="32" IsVisible="{Binding IsAvailable}">
<telerikGrid:GridViewColumn.CellTemplate>
<DataTemplate>
<telerik:RadButton Width="24" Height="24" x:Name="AddItemToList"
Command="{Binding AddItemToListCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
<Image Stretch="Uniform" Source="Images/add.png" HorizontalAlignment="Center" />
</telerik:RadButton>
</DataTemplate>
</telerikGrid:GridViewColumn.CellTemplate>
</telerikGrid:GridViewColumn>
<telerikGrid:GridViewDataColumn DataMemberBinding="{Binding Name}"/>
<telerikGrid:GridViewDataColumn DataMemberBinding="{Binding ConName}"/>
<telerikGrid:GridViewDataColumn DataMemberBinding="{Binding DisName}"/>
</telerikGrid:RadGridView.Columns>
如果选择了一行并单击该按钮,则会将好的值发送到ViewModel。但是,我的问题是,如果我点击另一行的按钮(不是我选择的行),它就不会选择该行,因此会向VM发送错误的值(发送所选行的值)!< / p>
如何强制行选择以选择包含我单击按钮的行?
在我的命令执行之前,它应该在我的XAML
中完成。
希望它足够清楚。我希望我的焦点设置在包含我点击的按钮的行上。
答案 0 :(得分:2)
您可以将Selecteditem作为AddItemToListCommand的CommandParameter发送
CommandParamter="{Binding}"
。因此,您将获得行datacontext,即单击按钮的项目。
由于