我有綁定了幾個對象一個TreeView,讓我們說這樣的事情:WPF綁定對象更新通知
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的是看在房子的對象,每當一個房間是建立/銷燬或一個人進入/離開,我的樹視圖更新自己以顯示房子的新狀態(爲簡單起見,我省略了一些實施細節)。
我想要的是知道此更新完成的確切時刻,所以我可以在那裏做一些事情,事情是我創建了所選項目的指示器,並且當某個動作發生時,我需要更新所述指示器的位置,這就是我在樹視圖更新時正好需要它的原因。
讓我知道你是否知道這個解決方案。
此外,代碼並不完美(DestroyRoom和PersonLeave),但你明白了。
謝謝!
那豈不是更容易只是有指標作爲項目模板的一部分,其知名度綁定到IsSelected?這似乎比試圖勾畫繪圖循環更自然,但我不確定你的約束是什麼。 – itowlson 2010-04-06 22:35:45
@itwolson:我們可以,但那會帶來一些我們已經在這個問題中解決的問題。我們已經在這裏度過了幾個小時,而這是唯一的問題。當然,如果我們不能很快解決問題,我們將不得不採取不同的方法,這可能就是您的建議。 謝謝! – Carlo 2010-04-06 23:13:48