gpt4 book ai didi

c# - WPF MVVM 和具有依赖属性的嵌套 View

转载 作者:行者123 更新时间:2023-12-03 10:15:30 26 4
gpt4 key购买 nike

我有一个在 Xaml 中定义 subview 的父 View 。 subview 有一个 DependencyProperty绑定(bind)到父 View 的 ViewModel。但是, subview 的 ViewModel 也需要该值。

<custom:Parent>
<custom:Child ChildId="{Binding ParentFooId}" ... />
</custom:Parent>

ChildId作为 ChildView 的依赖属性实现控制。如果ChildViewModel需求ParentFooId ,获得它的正确 MVVM 方式是什么?

我不想投 DataContextChildView进入ChildViewModel并在 OnChildIdChanged 中设置值ChildView 的处理程序.这对我来说似乎不太像 MVVM。

我想到的另一种选择是创建一个新的 ChildViewModel使用该值并将其设置为 DataContextOnParentFooIdChanged事件(在 ParentViewModel 中);但这似乎也不完全正确,因为 ViewModel 应该忽略 View (因此对 DataContext s 一无所知)。

似乎我遗漏了一些明显的东西......

最佳答案

如果我正确理解了这个问题,您只需要在父 View 模型中创建 subview 模型,传递并保留对父 View 模型的引用。这样您就可以从 subview 模型中引用父 View 模型的任何属性,并绑定(bind)到 subview 中的任何一个。

关于c# - WPF MVVM 和具有依赖属性的嵌套 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1400226/

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