我对INotifyPropertyChanged的实现和未更新的属性有一个问题,因为是INotifyPropertyChanged。
让我们说我有一个带有TextBlock和TextBox的窗口。两者都附加到我的ViewModel中的相同属性(Text)。
<TextBlock Grid.Row="0" Text="{Binding Text}"/>
<TextBox Grid.Row="1" Text="{Binding Text}"/>
场景1: ViewModel未实现INotifyPropertyChanged :
如果我在更改文本后离开TextBox的焦点,我的TextBlock也会更改文本。
场景2: ViewModel确实实现了INotifyPropertyChanged :
我没有手动触发PropertyChanged。所以我理解我的TextBlock在更改TextBox的文本后不会更改文本。
但为什么在没有INotifyPropertyChanged的情况下使用方案1? ...为什么同样的动作不再仅仅因为实现了INotifyPropertyChanged?
答案 0 :(得分:0)
试试这个:
<TextBlock Grid.Row="0" Text="{Binding Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>