比方说,我有一个名为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