【发布时间】:2016-01-17 18:19:34
【问题描述】:
我有一些文本框,我想为其设置PlaceholderText 属性。每个框的文本都绑定到底层视图模型的属性。现在像这样在 XAML 中设置占位符时
<TextBox PlaceholderText="Placeholder" Text={Binding PropertyName} />
我注意到,当文本框失去焦点时,视图模型的属性不再更新。 而没有占位符,绑定工作得很好。
这种行为是有意的吗?是否有任何解决方法,或者我是否必须坚持描述每个框的预期输入的经典TextBlock?
编辑:该属性确实实现了INotifyPropertyChanged,并且当没有设置占位符时,绑定会在视图模型中更新。
【问题讨论】:
-
尝试将 UpdateSourceTrigger 设置为 PropertyChanged。请注意:您甚至不必使用 TextBlock。只需设置 Header 属性。
-
@RareNcool 不幸的是,设置
UpdateSourceTrigger并没有改变任何东西。但感谢Header属性的提示。 -
文本块绑定的属性是否也实现了INotiftyProperty更改接口?
-
试试 Text="{x:Bind PropertyName, Mode=TwoWay}"
-
@KenTucker 是的,该属性确实实现了 INotifyPropertyChanged,并且在不设置占位符文本时确实有效。