2008-12-10 126 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的实例并使用它。