0

我喜欢 Blend 中的功能,您可以在其中设置与 CLR 对象的数据绑定,并设计您的 Silverlight 控件/页面。我的问题是围绕创建将用作 DataTemplate 的用户控件。在 Blend 中一切都很好,但仅在设计时。问题是,当我在 Blend 中编辑控件时,我将一个文本框绑定到 CLR 对象的属性,它给了我这个:

Text="{Binding Mode=OneWay, Path=TestAccount.Name, Source={StaticResource TestDataDS}}"

但是,当我准备好运行应用程序并在 DataTemplate 中使用该用户控件来表示列表框时,我需要它看起来像这样:

Text="{Binding Mode=OneWay, Path=Name}"

如何在 Belnd 中使用漂亮的绑定进行设计,而在准备运行项目时不必触摸/搜索和替换所有这些绑定?我正在寻找一种既适用于设计时又适用于运行时的方法。

谢谢,

4

2 回答 2

0

为了在 Expression Blend 中创建到 CLR 对象的数据绑定,您不需要使用“创建数据绑定”对话框的“数据字段”选项卡。事实上,这样做是非常罕见的。

使用自定义路径表达式是最常见的方式。只需选中“使用自定义路径表达式”复选框,然后输入您要绑定到的属性的名称。如果您未指定数据上下文,则数据绑定将解析为您在恰好是 DataContext 的任何对象上指定的路径。

如果要设置设计时 DataContext,可以通过设置 d:DataContext 属性来实现,确保正确定义 xmlns:d="..."

于 2009-05-06T01:14:12.107 回答
0

如果您使用的是 blend 2,我建议您查看使用依赖注入的 Jonas Follesoe 的设计时/运行时博客文章。

如果您有幸使用 Blend 3,请查看

当您在混合中设置绑定时,“显式数据上下文”选项卡是否可用?

于 2009-07-16T09:19:33.000 回答