這是一個一樣的問題I asked earlier但是,一個參考正常的C#。 這是Silverlight 2中,和我沒有ICustomTypeDescriptorSilverlight 2:動態創建的對象上的INotifyPropertyChanged?
因此,這裏又是一個問題:
我,說幾句開關面板(對於那些喜歡類比)。 這些開關面板中的每一個都具有開關,其名稱(字符串)可以處於開啓或關閉狀態(布爾型)。 開關面板和開關是在它們上面有INotify接口的對象。
使用開關名稱,我創建了集合上所有可能的開關名稱的列表,並創建一個包含所有這些名稱作爲屬性的動態類。
SwitchPanel1 (Switches(Switch1 ("Main",On) , Switch2("Slave",Off)))
SwitchPanel2 (Switches(Switch1 ("Bilge",On) , Switch2("Main",Off)))
可生產的
(Main,Bilge,Slave)
的集合和一個動態類產生具有屬性:
SwitchPanel : (SwitchPanel)
Main : (Switch)
Bilge : (Switch)
Slave: (Switch)
的想法是,如果開關面板具有與所述名稱的開關的財產,它被放置在該財產。因此,使用LINQ位
propeties["Main"].SetValue(newSwitchType,SwitchPanel.Switches.FirstOrDefault(sw => sw.Name == "Main"));
我想施放此新的動態類INotfyPropertyChanged和捕捉這些新特性的實際變化的,因此,如果開關的狀態改變的動態對象會報告。
爲什麼?它需要在列表視圖中顯示,我使用的列表視圖通過提供屬性名稱而不是綁定路徑來綁定它。
它還試圖通過將對象強制轉換爲INotifyPropertyChanged來捕獲INotify事件。這意味着它會在事情發生變化時進行排序和/或分組。
有趣。將盡快放棄它。 – Dann 2009-05-25 02:39:30