我想在我的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正在寻找的不是吗?
答案 0 :(得分:5)
这是你需要的吗?
FooSourceDS.ObjectType = typeof(myNamespace.FooSource)
答案 1 :(得分:5)
你的问题的答案是@Bryan写的,但是交叉检查你是否想在代码杠杆上使用ObjectDataProvider。 ObjectDataProvider只是一种实例化Binding特定类的XAML方法。但是如果你想用C#编写代码那么你真的不需要ObjectDataProvider。只需创建一个FooSource实例并使用它。