gpt4 book ai didi

wpf - "Nested"MVVM问题

转载 作者:行者123 更新时间:2023-12-03 10:50:28 24 4
gpt4 key购买 nike

我有一个 WPF 窗口,它有一个数据网格和一个用于该数据网格中字段的表单的用户控件。用户控件和 WPF 窗口具有 View 模型。

用户控件的 DataContext 绑定(bind)到窗口的 View 模型的成员字段之一,其值在数据网格的 Selection Changed 事件期间发生变化。

我不确定这是否是正确的方法,因为由于某种原因我无法创建从内部 View 模型到外部 View 模型的引用。构造函数注入(inject)不起作用,因为我只需要使用默认构造函数,而且我似乎无法将属性注入(inject)器放在正确的位置(当我尝试使用它时总是得到空引用)。

我也无法让我的属性更改通知在内部 View 模型中正常工作。

有没有更好的方法来连接我的 View 模型,以便在数据网格中选择新行时自动更改用户控件中的值?我有一种感觉,绑定(bind)到控件的 DataContext 不是要走的路。

最佳答案

这似乎不是一个复杂/嵌套的场景。看起来很像一个普通的主细节场景。假设您要编辑客户数据,我会将 ObservableCollection 实例绑定(bind)到 DataGrid,并且 VM 中也会有一个 SelectedCustomer 属性。在 DataGrid 中,您可以设置 SelectedItem 双向绑定(bind)到 SelectedCustomer 属性,这使得 SelectedCustomer 始终随您的选择而更新。由于用户控件具有与 DataGrid 行中相同的客户实例,因此无论何时更改 UC 中的任何内容,这些数据都会反射(reflect)在网格中。当然,所有这些属性都应该触发 NotifypropertyChanged。

关于wpf - "Nested"MVVM问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com