将XAML ObjectDataProvider转换为C#

Jip*_*ers 2 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"/>
Run Code Online (Sandbox Code Playgroud)

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

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

ObjectDataProvider FooSourceDS = new ObjectDataProvider();
FooSourceDS.ObjectType = myNamespace.FooSource;
Run Code Online (Sandbox Code Playgroud)

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

Bry*_*tts 5

这是你需要的吗?

FooSourceDS.ObjectType = typeof(myNamespace.FooSource)
Run Code Online (Sandbox Code Playgroud)


Job*_*Joy 5

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