[英]WPF : Attaching some data to a Button
问题:
'我用ControlTemplate填充ListView。 在此模板中,每个项目都有一个按钮,单击该按钮需要执行一些操作。
我如何访问生成ListViewItem的对象,以便获取某些内容(例如ID)。
DataContext
是您的朋友。 每个列表项(如果未覆盖按钮的DataContext
,则该列表项内的按钮)将具有一个数据项,该数据项用于在DataContext
属性中生成该项。
如果动态创建按钮,则可以使用Tag
属性附加数据,也可以将Button
类继承为My_Button
并设置所需的属性,例如“ userId”
另一种方法是尝试观察clicked按钮的Parent
属性。
例如 :
private void Button_Click(object sender, RoutedEventArgs e)
{
Button clickedButton = sender as Button;
ListViewItem holderItem = clickedButton.Parent as ListViewItem;
Console.WriteLine("You are clicked the buton in " + holderItem.Name);
}
或内联解决方案:
private void Button_Click(object sender, RoutedEventArgs e)
{
Console.WriteLine("You are clicked the buton in " + ((sender as Button).Parent as ListViewItem).Name);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.