Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF嵌套数据绑定随机工作_Wpf_Data Binding_Textbox_Nested - Fatal编程技术网

WPF嵌套数据绑定随机工作

WPF嵌套数据绑定随机工作,wpf,data-binding,textbox,nested,Wpf,Data Binding,Textbox,Nested,我有一个带有几个文本框的简单表单。我使用ViewModel作为代码中的DataContext集。在ViewModel中,我有一个名为Metadata的属性。当用户将新的“元数据”加载到表单中时,此属性会发生变化 文本框XAML如下所示: <TextBox Text="{Binding Path=Metadata.ContractMetadata.Utstrackning.VastligasteLongitud, Mode=TwoWay}" /> …运气不佳。您是否尝试过Notify

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

文本框XAML如下所示:

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

…运气不佳。

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

嵌套属性的PropertyChanged没有按您的方式执行

每个嵌套级别实例本身都必须引发属性更改通知

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

ContractMetadata实例应引发“Utstrackning”属性


UtsTracking实例应该会引发“VastLigateLongitud”属性。

有这么多OnPropertyChanged的代码运行得很好!我只是想我已经试过了。。。不管怎样,有没有更好的方法来实现它,有时候它是怎么工作的?据我所知,ChangeNotification只对绑定对象起作用。Utstracking应该实现INotifyPropertyChanged,这样您就可以调用Metadata.ContractMetadata.Utstracking.OnPropertyChanged(“VastLigateLongitud”)。问题是绑定的对象是我从服务获得的对象,我不想让该类的实现与GUI内容混淆。如果框架能够处理,这将是一件好事!?您不会杂乱无章,而是围绕MVVM中的模型构建ViewModels……虽然我最终并没有实现您的解决方案,但我认为这将是一种很好的实现方法。
OnProperyChanged("Metadata")
OnProperyChanged("Metadata.ContractMetadata");
OnProperyChanged("Metadata.ContractMetadata.Utstrackning");
OnProperyChanged("Metadata.ContractMetadata.Utstrackning.VastligasteLongitud");