由于INotifyPropertyChanged

时间:2016-04-14 17:27:38

标签: c# wpf mvvm binding propertychanged

我对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?

1 个答案:

答案 0 :(得分:0)

试试这个:

<TextBlock Grid.Row="0" Text="{Binding Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>