在开发 markdown-mail 时遇到了一些诡异的情况。代码是这么写的:
<TextBox Text="{Binding Text, Mode=TwoWay}"/>
然而在 TextChanged
事件之后延时执行了一些操作时,从 ViewModel
里拿到的值却始终是旧的。
阅读本文将了解其原因和解决办法。
无论是 WPF 还是 UWP,Binding
中都有 UpdateSourceTrigger
属性。
在 WPF 中,其可取的值为:
public enum UpdateSourceTrigger
{
Default,
PropertyChanged,
LostFocus,
Explicit
}
在 UWP 中,其可取的值为: