将XAML ObjectDataProvider转换为C#

时间:2008-12-10 01:30:04

标签: c# wpf xaml objectdataprovider

我想在我的C#代码中创建我的ObjectDataProvider而不是我的XAML。

我想知道如何将此XAML更改为等效的C#。 XAML由Microsoft Expression Blend 2生成,因此可以安全地忽略d:名称空间。

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

myNS是一个引用我的CLR对象的命名空间。

我正忙着在C#中指定ObjectType:

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

Intellisence正确地将FooSource识别为'type',这是ObjectType正在寻找的不是吗?

2 个答案:

答案 0 :(得分:5)

这是你需要的吗?

FooSourceDS.ObjectType = typeof(myNamespace.FooSource)

答案 1 :(得分:5)

你的问题的答案是@Bryan写的,但是交叉检查你是否想在代码杠杆上使用ObjectDataProvider。 ObjectDataProvider只是一种实例化Binding特定类的XAML方法。但是如果你想用C#编写代码那么你真的不需要ObjectDataProvider。只需创建一个FooSource实例并使用它。