【问题标题】:Binding control property to user control property将控件属性绑定到用户控件属性
【发布时间】:2012-11-02 22:56:15
【问题描述】:

我有一个用户控件,它具有一些公共属性(例如 Dirty :boolean)和一个更改该属性的事件 (ControlValueChanged)。
我将该控件添加到表单中。在表单中,我有一个按钮 (btnOK),我想将按钮的 Enabled 属性绑定到 Dirty 属性。
我阅读了http://msdn.microsoft.com/en-us/library/ms229614.aspx,但在我的项目中实施它时遇到了一些问题。
我的代码形式为:

btnOK.DataBindings.Add("Enabled", Me.wwdp, "Dirty") 'wwdp is my user Control

所以根据我的研究,我必须在我的自定义控件中添加:

Imports System.ComponentModel

Public Class wwDynamicPanel

Implements INotifyPropertyChanged

Public Event PropertyChanged As PropertyChangedEventHandler _
    Implements INotifyPropertyChanged.PropertyChanged


 Public Property Dirty As Boolean
    Get
        Return mbDirty
    End Get
    Set(ByVal value As Boolean)
        mbDirty = value
        NotifyPropertyChanged()
    End Set

End Property

Private Sub NotifyPropertyChanged(<CallerMemberName()> Optional ByVal propertyName As String = Nothing)
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
End Sub

我收到一个错误:未定义类型“CallerMemberName”。
问题是我在 msdn 中没有找到更多内容。

【问题讨论】:

    标签: vb.net binding


    【解决方案1】:

    非常抱歉。 MSDN 中的链接适用于框架 4.5
    我找到了正确的http://msdn.microsoft.com/en-us/library/ms184414(v=vs.100).aspx。对于我的框架 我解决了这个问题。
    我留下这个问题是因为其他人觉得它很有用。
    所以工作代码是:

    Imports System.ComponentModel
    
    Public Class wwDynamicPanel
    
    Implements INotifyPropertyChanged
    
    Public Event PropertyChanged As PropertyChangedEventHandler _
       Implements INotifyPropertyChanged.PropertyChanged
    
    
    Public Property Dirty As Boolean
       Get
          Return mbDirty
       End Get
       Set(ByVal value As Boolean)
          mbDirty = value
          NotifyPropertyChanged("Dirty")
       End Set
    End Property
    
    Private Sub NotifyPropertyChanged(ByVal info As String)
         RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info))
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      相关资源
      最近更新 更多