首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataBinding到引用类型

DataBinding到引用类型
EN

Stack Overflow用户
提问于 2009-02-05 18:22:34
回答 1查看 165关注 0票数 0

我有一些类具有这样的属性,它们很好地工作,因为它们非常正常:

代码语言:javascript
复制
    Public Overridable Property CustomerLastName() As String
        Get
            Return m_CustomerLastName.Value
        End Get
        Set(ByVal Value As String)
            m_CustomerLastName.Value = Value
        End Set
    End Property

我希望将它们更改为这样的工作方式(不必担心IField是什么,只需说它代表表中的一个字段就足够了):

代码语言:javascript
复制
    Public Overridable Readonly Property CustomerLastName() As IField
        Get
            Return m_CustomerLastName
        End Get
    End Property

那样的话,你可以做Customer.CustomerLastName.PreviousValue,或者Customer.CustomerLastName.IsDirty等等。

但这并不是正确的约束。可以理解,因为绑定应该是双向的,并且涉及到反射等等。

当然,它仍然可以是一条双向的街道,我只需要说,“嘿,DataBinding!看这里!”

所以。我在这里做什么?

注意:现在,我想做的就是为了显示目的,将DataBind转换成GridView。但我希望这是灵活的。

EN

回答 1

Stack Overflow用户

发布于 2009-02-05 18:32:42

(更新重新编辑)如果只是为了显示目的,您可能只需在实现IField的类上设置IField()。

(原件)

非双向数据绑定需要INotifyPropertyChangedCustomerLastNameChanged事件.您可以通过实现ICustomTypeDescriptorTypeDescriptionProvider将其转换为自定义模型,但随后需要编写自己的PropertyDescriptor实现。

Re IsDirty --在PropertyDescriptor术语中,这是ShouldSerializeValue

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/517203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档