silverlight - 将 Silverlight UserControl 绑定(bind)到复杂对象

标签 silverlight data-binding user-controls

将复杂类绑定(bind)到用户控件以供重用时,“最佳”(或最常用)方法是什么?

我正在尝试为类创建一些可重用的库,但我不确定应该使用哪种方法。示例:我想创建一个 Address 库来定义和 Address 类(具有属性 Line1、Line2 等)、它的验证逻辑和一个 AddressControl,它充当查看器/编辑器,每个属性都有绑定(bind)字段。

在使用中,我可能有一个具有 BillingAddress、DeliveryAddress 属性的客户类,因此我想将它们绑定(bind)到我的客户控件中:

<addressLib:AddressControl [xxx]="{Binding BillingAddress}" />

所以问题是我在 XXX 中放了什么?

最初我想在控件上创建一个 DependencyProperty 'Address':

<addressLib:AddressControl Address="{Binding BillingAddress}" />

但现在我在想我肯定可以只使用现有的 DataContext 属性吗?

<addressLib:AddressControl DataContext="{Binding BillingAddress}" />

这是最好的方法吗?是否有任何问题,例如更新或 NotifyPropertyChange 问题?

非常感谢您的帮助!

最佳答案

要记住的一个区别是,使用依赖属性您会收到更改通知,而使用数据上下文则不会(至少在 SL5 发布之前不会)

关于silverlight - 将 Silverlight UserControl 绑定(bind)到复杂对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6109473/

相关文章:

linq - Silverlight 应用程序架构

c# - Canvas 作为 ListBox ItemTemplate

javascript - 在 d3.js 中绑定(bind)数据

c# - WPF 多重绑定(bind)失败。为什么?

asp.net - Web 用户控制和验证

c# - 在其他 View 中的 ViewModel 中设置属性

silverlight - 使用 FJCore 对 Silverlight WriteableBitmap 进行编码

javascript - 在 polymer 中注入(inject) html,包括数据绑定(bind)

wpf - 在其他控件旁边显示 itemtemplate 中的用户控件列表

c# - 在没有标称类的情况下在 Silverlight 中绑定(bind) XML