2008-12-10 159 views
2

我想在後面的C#代碼而不是我的XAML中創建ObjectDataProvider。將XAML ObjectDataProvider轉換爲C#

我想知道如何將這個XAML改成等價的C#。 XAML由Microsoft Expression Blend 2生成,因此可以安全地忽略d:命名空間。

<ObjectDataProvider x:Key="FooSourceDS" ObjectType="{x:Type myNS:FooSource}" d:IsDataSource="True"/> 

myNS是引用我的CLR對象的命名空間。

我就要掛了在C#中指定對象類型:

ObjectDataProvider FooSourceDS = new ObjectDataProvider(); 
FooSourceDS.ObjectType = myNamespace.FooSource; 

的Intellisence被正確識別FooSource作爲「類型」,這是什麼對象類型正在尋找是不是?

回答

5

這是你所需要的?

FooSourceDS.ObjectType = typeof(myNamespace.FooSource) 
5

您的問題的答案是@Bryan寫的,但交叉檢查您是否想要在代碼槓桿上使用ObjectDataProvider。 ObjectDataProvider只是實例化一個特定的類綁定的XAML方法。但是如果你想用C#編寫代碼,那麼你真的不需要ObjectDataProvider。只需創建一個FooSource的實例並使用它。