【问题标题】:Property Notification when Binding to Class Not Properties绑定到类而不是属性时的属性通知
【发布时间】:2011-09-14 03:44:22
【问题描述】:

我有一个包含帐户不同功能区域的窗口。细节、角色、类型、合同……等等。窗口的 DataContext 设置为“AccountViewModel”。在 AccountViewModel 内部,有一个属性是“帐户”,其中包含详细信息。我需要用户能够更新这些详细信息。我如何通知属性在更改时调用我的 Update() 代码?

这就是我所拥有的

<TextBox x:Name="txtAccountNumber" Grid.Row="0" Grid.Column="1" Text="{Binding Path=Account.AccountNumber, UpdateSourceTrigger=LostFocus}" />
Sub New()
    InitializeComponent()
    DataContext = AccountViewModel
End Sub

Class AccountViewModel
    Public Property Account As Account
        Get
            Return _account
        End Get
        Set(ByVal value As Account)
            _account = value
        End Set
    End Property
End Class

Public Class Account
    Private _accountNumber As String

    <DisplayName("Account Number")> _
    Public Property AccountNumber As String
        Get
            Return _accountNumber
        End Get
        Set(ByVal value As String)
            _accountNumber = value
        End Set
    End Property
End Class

【问题讨论】:

    标签: wpf vb.net xaml binding properties


    【解决方案1】:

    您可以处理对象的 PropertyChanged 事件(例如,在 setter 中附加一个处理程序)并在处理程序中调用您的更新方法。

    【讨论】:

    • 这为我指明了正确的方向,谢谢!对于遇到此问题的其他人,我在 AccountViewModel 类的 Sub New() 中设置 _account 时添加了以下行:AddHandler _account.PropertyChanged, AddressOf OnAccountPropertyChanged
    猜你喜欢
    • 2012-07-08
    • 2017-02-03
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多