比方說,我有一個名爲Greeting
的屬性,主要由兩個綁定屬性LastName
和FirstName
組成。我可以訂閱名字和姓氏的更新,因此我可以用我的Greeting屬性強制更新OnPropertyChanged()
。這裏有一個簡單的例子:更新孩子屬性更改時複合屬性的綁定
查看
<TextBox Text="{Binding FirstName}" />
<TextBox Text="{Binding LastName}" />
<TextBlock Text="{Binding Greeting}" />
視圖模型
Public Property FirstName() As String
Get
Return _firstName
End Get
Set(ByVal value As String)
_firstName = value
OnPropertyChanged("FirstName")
End Set
End Property
'... Omitting LastName for brevity ...
Public ReadOnly Property Greeting() As String
Get
Return String.Format("Hello {0} {1}", Firstname, LastName)
End Get
End Property
這是目前設置方式,任何事都不能更新的問候裝訂。我可以把OnPropertyChanged("Greeting")
放在設置器FirstName
和LastName
,但這種感覺不對。在一個更復雜的例子中,我寧願每個對象都會在某些事情發生變化時照顧自己。
問::)我可以強制ReadOnly
屬性的更新,當它由其中一個屬性組成的變化?
你想要做的就是你說的「感覺不對」。這是正確的/最好的/最好的/正常的方式。根據你的「Q :)」,這是真正做到這一點的唯一方法。 – Steve