2011-05-28 35 views
0

我有一個通過* MemberPath屬性使用舊式數據綁定的控件。但是,我的情況需要使用DynamicObject。當你獲得該動態對象的類型並調用GetProperty(..)時,它將返回null(因爲對象本身不包含這樣的屬性 - 它是一個動態對象)。所以..我該如何解決這個問題?如何使用動態屬性綁定對象,使視圖使用舊式數據綁定方法?Silverlight 4,數據綁定和動態對象

回答

1

你在Silverlight 4中運氣不佳。Silverlight 5(測試版)具有允許綁定到動態屬性的ICustomTypeProvider接口,但Silverlight 4沒有這個功能。在Silverlight 5發佈之前,您有兩種選擇:

1)編寫一個值轉換器以獲取對象的值。

OR

2)讓你的對象上的索引,當通過了「財產」的名稱,返回相應的值。然後你可以提取這樣的值:

Binding="{Binding [PropertyName]}" 

選項2是IMO的最佳選擇。

+0

感謝您的回覆。不幸的是,我不能像這樣使用綁定,因爲我有* MemberPath屬性(在後臺調用obj.GetType()。GetProperty(...)) – 2011-05-28 13:21:13