У меня есть TreeView с несколькими объектами, связанными с ним, скажем, что-то вроде этого:
public class House
{
public List<Room> Rooms { get; set; }
public List<Person> People { get; set; }
public House()
{
this.Rooms = new List<Room>();
this.People = new List<Person>();
}
public void BuildRoom(string name)
{
this.Rooms.Add(new Room() { Name = name });
}
public void DestroyRoom(string name)
{
this.Rooms.Remove(new Room() { Name = name });
}
public void PersonEnter(string name)
{
this.People.Add(new Person() { Name = name });
}
public void PersonLeave(string name)
{
this.People.Remove(new Person() { Name = name });
}
}
public class Room
{
public string Name { get; set; }
}
public class Person
{
public string Name { get; set; }
}
TreeView наблюдает за объектом Дома, всякий раз, когда комната строится / разрушается, или человек входит/ leaves, мое древовидное представление обновляется, чтобы показать новое состояние дома (я упустил некоторые детали реализации для простоты).
Мне нужно знать точный момент, когда это обновление завершится, поэтому я могу сделатьчто-то прямо здесь, дело в том, что я создал индикатор выбранного элемента, и когда что-то движется, мне нужно обновить положение указанного индикатора, поэтому мне это нужно именно тогда, когда обновляется древовидное представление.
ПозвольтеЯ знаю, если вы знаете решение этой проблемы.
Кроме того, код не идеален (DestroyRoom и PersonLeave), но вы поняли.
Спасибо!