WPF:将一些数据附加到Button

时间:2011-05-18 10:47:55

标签: c# wpf listview

问题:

'我使用ControlTemplate填充ListView。 在每个项目的此模板中,将有一个按钮,单击该按钮需要执行某些操作。

我如何访问生成ListViewItem的对象,以便我可以获取某些内容(如id)。

2 个答案:

答案 0 :(得分:4)

DataContext是你的朋友。每个列表项(如果您没有覆盖按钮DataContext,则该项内的按钮)将有一个数据项,用于生成DataContext属性中的项目。

答案 1 :(得分:0)

如果您动态创建按钮,可以使用Tag属性附加数据,或将Button类继承为My_Button并设置您需要的属性,例如“userId “

另一种方式 尝试观看点击按钮的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);
            }