我有一个带有事件的对象,静态函数GetAll()返回一个对象集合。
在我的WPF页面中,我以该功能GetAll填充了ListBox的itemsource。
现在,我想实现WPF页面处理此ListBox中每个对象的事件,但是我找不到任何好的方法来实现这一点。
答案 0 :(得分:0)
使用GetAll()
循环遍历foreach
返回的集合,并将事件处理程序关联到其中的每个对象,例如:
var collection = GetAll();
if (collection != null)
{
foreach (var item in collection)
{
item.YourEvent += YourEventHandler;
}
}
listBox.ItemsSource = collection;
答案 1 :(得分:0)
我想你的课程看起来像这样:
public class Data
{
public static List<Data> GetAll(){.....};
...other property and in somewhere raise myEvent...
public event doSomethingDelegate myEvent;
}
我的建议是尝试创建一个路由事件而不是普通事件。路由事件允许您在ListBox或ListBox的父级中监听此事件。