将事件添加到动态创建的控件
Add event to dynamically created control
我正在创建一个用户控件。我有一个字母表字母的字符列表,我想显示这些字母,所以我创建 ListViewItem
s 是这样的:
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
}
}
我正在创建一个用户控件。我有一个字母表字母的字符列表,我想显示这些字母,所以我创建 ListViewItem
s 是这样的:
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
}
}