我刚开始使用Silverlight。我有一个DataGrid,其ItemsSource链接到ObservableCollection。 DataGrid的每一行(AutoGenerateColumns =“False”)都有一些来自对象和按钮的值。如何将“命令参数”与按钮相关联,以便我知道点击哪一行的按钮?
由于
答案 0 :(得分:2)
您可以使用Tag attrribute。假设集合中的对象具有“Id”属性,您可以将按钮控件的“Tag”属性绑定到对象的Id:
<Button Tag="{Binding Id}" .../>
或者您可以将整个对象存储在Tag
中<Button Tag="{Binding Path=.}" .../>
然后在单击处理程序中,您必须使用sender参数来获取发件人控件并提取标记信息:
Button btn = sender as Button;
var tagValue = btn.Tag; // object binded to "tag" attribute
答案 1 :(得分:0)
我发现Button对象的DataContext
属性,在这种情况下,返回行所基于的对象。