我有一个树视图,上面绑定了一些对象,我们这样说:
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; }
}
tree view正在监视house对象,每当一个房间被建造/摧毁或一个人进出时,我的树视图会自动更新以显示房屋的新状态(为了简单起见,我省略了一些实现细节)。
我想知道更新完成的确切时间,这样我就可以在那里做一些事情,事情是我创建了一个所选项目的指示器,当某个项目移动时,我需要更新该指示器的位置,这就是我需要它的原因,正好在树视图更新时。
如果你知道解决办法,告诉我。
同样,代码也不是完美的(destroroom和personleave),但是你得到了这个想法。
谢谢!