我有一个对象,它被设置为Window中的DataContext。我在窗口中有文本框,它们绑定到对象的属性。然而,在对象的属性更新之前似乎存在延迟。
<TextBox x:Name="txtPropertyOne" Text="{Binding Path=PropertyOne,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
如果我更改了几个文本框中的值,然后快速尝试访问它们映射到的属性,有时会有更改未反映在对象的属性中。我认为这就是PropertyChanged UpdateSourceTrigger应该照顾的内容。
答案 0 :(得分:1)
如果我改变了几个值 文本框然后快速尝试访问 他们映射的属性
我可以用两种方式解释这句话:
Send
和Normal
。因此,如果您的邮件优先级为Send
或Normal
,则会在任何待处理的绑定更新之前对其进行处理。如果这不能解答您的问题,请通过“快速尝试访问这些属性”来澄清您的意思。
答案 1 :(得分:0)
WPF数据绑定的基本规则很简单:
您是否已在对象上实现了INotifyPropertyChanged?
答案 2 :(得分:-2)
你的对象是DependencyObject吗?您要绑定到DependencyProperty的属性吗?如果是,则不需要指定触发器。如果他们不是,我建议他们这样做。它是创建可靠绑定对象的最简单方法。
我认为延迟与您使用UpdateSourceTrigger有关。我不认为它做你认为它做的,这就是为什么它不像你期望的那样。
删除UST,如果不起作用,则将绑定对象重构为DO,将PropertyOne重构为DP。相信我,一旦你完成了学习DependencyObjects的痛苦,它就值得了。