WPF嵌套数据绑定随机工作

时间:2011-08-04 09:47:08

标签: wpf data-binding textbox nested

我有一个包含多个文本框的简单表单。我使用ViewModel作为代码中的DataContext集。在ViewModel中,我有一个名为Metadata的属性。当用户将新的“元数据”加载到表单中时,此属性会发生变化。

文本框XAML如下所示:

<TextBox Text="{Binding Path=Metadata.ContractMetadata.Utstrackning.VastligasteLongitud, Mode=TwoWay}" />

在ViewModel中,当Metadata属性更改时,我运行OnProperyChanged(“Metadata”)。元数据实现INotifyPropertyChanged接口,层次结构中的其他类不实现。有时它会起作用,有时却不起作用。我试过跑:

OnProperyChanged("Metadata")
OnProperyChanged("Metadata.ContractMetadata");
OnProperyChanged("Metadata.ContractMetadata.Utstrackning");
OnProperyChanged("Metadata.ContractMetadata.Utstrackning.VastligasteLongitud");

......没有运气。

2 个答案:

答案 0 :(得分:2)

嵌套属性的ProperyChanged不是按照你的方式完成的!

每个嵌套级别实例必须自行引发属性更改通知。

e.g。元数据实例应该引发“ContractMetadata”属性

ContractMetadata实例应该引发“Utstrackning”属性

和Utstrackning实例应该提升“VastligasteLongitud”属性。

答案 1 :(得分:0)

您是否尝试过NotifyPropertyChanged(“...”)?