инициировать события объекта из источника данных - PullRequest
0 голосов
/ 21 января 2019

У меня есть объект с событием, и статическая функция GetAll () с возвращает коллекцию объектов.

На моей странице WPF я заполняю источник данных ListBox, думал, что эта функция GetAll.

Теперь я хотел бы добиться, чтобы страница WPF обрабатывала событие каждого объекта в этом ListBox, но я не нахожу никакого хорошего способа сделать это.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Полагаю, ваш класс выглядит так:

public class Data
{
   public static List<Data> GetAll(){.....};
   ...other property and in somewhere raise myEvent...
   public event doSomethingDelegate myEvent;
}

Мое предложение - попробуйте создать перенаправленное событие вместо обычного события. Маршрутизированное событие позволяет прослушивать это событие в ListBox или родительском элементе ListBox.

0 голосов
/ 21 января 2019

Выполните итерацию по коллекции, возвращенной GetAll(), используя цикл foreach и подключите обработчик событий к каждому объекту в нем, например:

var collection = GetAll();
if (collection != null)
{
    foreach (var item in collection)
    {
        item.YourEvent += YourEventHandler;
    }
}
listBox.ItemsSource = collection;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...