我喜歡PropertyGrid,至少它背後的概念 - 使用反射和屬性來編輯對象而無需編寫太多的UI代碼。PropertyGrid替代
雖然我的興奮很快就消失了,但默認的PropertyGrid與WinForms一起運輸的情況非常糟糕。那麼編輯簡單的對象就可以了,但是就這麼簡單。
- 它不顯示具有類型「對象」的動態屬性適當的UITypeEditors。
- 只要對象包含集合,您可以使用所謂的CollectionEditor對其進行編輯。但是,它不會觸發PropertyValueChanged事件。所以,一旦你需要添加撤消功能,你就被搞砸了。
- 而我仍然沒有找到一個優雅的方式來爲CollectionEditor添加驗證。
- 如果您選擇了多個對象,實現撤銷也是有問題的,因爲在這種情況下,PropertyValueChanged事件參數ChangedItem爲null。
我很快就發現自己寫黑客來解決這些問題的結果並不理想。
你會怎麼做? 至少前三個問題是否有一個優雅的解決方案? 有沒有其他propertygrid?最好是免費&沒有PInvokes?
至於集合的屬性已更改。如果有些東西改變了集合實例的參考,我會擔心。想想看。 – leppie 2010-08-25 05:17:18