将事件添加到动态创建的控件
本文关键字:创建 控件 动态 事件 添加 | 更新日期: 2023-09-27 18:34:15
我正在创建一个用户控件。我有一个字母的字符列表,我想显示这些字母,所以我创建了这样的ListViewItem
:
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
}
}