2

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

我想知道如何将此 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 识别为 ObjectType 正在寻找的“类型”,不是吗?

4

2 回答 2

5

这是你需要的吗?

FooSourceDS.ObjectType = typeof(myNamespace.FooSource)
于 2008-12-10T01:44:31.083 回答
5

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

于 2008-12-10T01:44:36.873 回答