将事件添加到动态创建的控件

Add event to dynamically created control

我正在创建一个用户控件。我有一个字母表字母的字符列表,我想显示这些字母,所以我创建 ListViewItems 是这样的:

foreach (char letter in letterList)
        {
            this.stack.Children.Add(new ListViewItem
            {
                Content = letter
            });
         }

现在我想添加事件,所以当用户点击特定的字母时,会发生一些特定的事情。
除了为每个字母创建单独的 ListViewItem 之外,有没有办法做到这一点?

这个怎么样?

    ListViewItem lstvwalphabet;
    foreach (char letter in letterList)
     { 
            lstvwalphabet = new ListViewItem();
            lstvwalphabet.Content = letter;
            lstvwalphabet.PreviewMouseLeftButtonDown += ListViewItem_PreviewMouseLeftButtonDown;
            this.stack.Children.Add(lstvwalphabet);
     }

跟踪哪个项目被点击的事件。

    private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
      var item = sender as ListViewItem;
      if (item != null && item.IsSelected)
      {
        //Do your stuff
      }
    }