C# 获取实例的父级
我得到了一个容器类,C# 获取实例的父级,c#,wpf,reflection,mvvm,viewmodel,C#,Wpf,Reflection,Mvvm,Viewmodel,我得到了一个容器类,FieldContainer,这个容器类位于observeCollection中,它位于视图模型中。在字段容器中有几个字段。这些字段也位于可观察集合中 我们得到了这样一个结构: 视图模型 observedcollection FieldContainer observedcollection 字段 我的问题是:在我的字段中我想在运行时获取它的父ViewModel的实例。是否有可能通过反射来实现这一点?或者其他方式?为什么要这样做?这看起来有点像XY问题,如
FieldContainer
,这个容器类位于observeCollection
中,它位于视图模型中。在字段容器
中有几个字段
。这些字段
也位于可观察集合
中
我们得到了这样一个结构:
- 视图模型
observedcollection
FieldContainer
observedcollection
字段
我的问题是:在我的字段中
我想在运行时获取它的父ViewModel
的实例。是否有可能通过反射来实现这一点?或者其他方式?为什么要这样做?这看起来有点像XY问题,如果您需要在父VM上“设置”某些属性,消息传递(事件聚合)可能是一个更好的解决方案…如果字段
需要了解ViewModel
您做错了什么。EventAggregation是我试图解决的主要问题。我在字段中触发事件
。。。但是如果有多个对象使用不同的FieldContainer
,则每个对象都会触发事件。所以我认为比较项目来源是一个好方法idea@RobertNagel然后,您应该使用更专门的消息,或者每个FieldContainer
都应该有自己的事件聚合器实例-生存期范围。