2014-10-01 23 views
0

查看Catel(v4的内部版本508)中的最新覆盖,我无法找到GetChildViewModels()方法在View中返回子viewmodels的地方。我需要确定当我开始更新我的子视图绑定到的依赖项属性时,我所有的子模型都已加载。现在,我有一个问题,我的嵌套控件不显示它们绑定的数据,直到你开始在接口上选择事件,然后对依赖属性进行新的更改。我已经验证父视图中的属性确实具有正确的数据,问题(我认为)是嵌套控件(子视图)尚未加载,所以嵌套视图显示空网格。如何知道何时在Catel中初始化所有子Viewmodels?

我在一个嵌套视图中有一棵树,在另一个嵌套视图中有一个列表。父视图包含它们并具有两个子视图绑定到的属性。加载父视图时,树视图会自动加载最后选择的节点。这工作。选择节点时,会发送一条消息,通知所有其他组件,他们应该执行他们需要对选定节点执行的任何操作。父组件响应此消息并更新另一个子视图绑定到的列表。我已检查并且列表正在更新,但子视图未显示数据。只有当我点击另一个节点时,另一个子视图才开始在其列表中显示项目。我认为唯一会导致这种情况的是,如果其他子视图在父组件执行更改时尚未完全绑定。

我该怎么做呢?

回答

1

的问题是在4.0这个偷偷摸摸变化不大: https://catelproject.atlassian.net/wiki/display/CTL/Mapping+properties+from+view+to+view+model

与4.0开始,Catel不再订阅依赖项属性自动

我需要添加:

static MyView() 
{ 
    typeof(MyView).AutoDetectViewPropertiesToSubscribe(); 
} 

给我的xaml.cs文件,让他们回到过去的工作方式。

+0

偷偷摸摸?请看这里的重大更改的完整列表:https://catelproject.atlassian.net/wiki/display/CTL/Catel+4.0.0 – 2014-10-02 06:02:50

+0

嗨吉特,我不是故意要对卡特尔侮辱。我的意思是偷偷摸摸,像偷偷靠在我身上,让我追逐我的尾巴。但是如果遇到类似的困难,完整的列表更改很有用。 – Bitfiddler 2014-10-02 17:18:01

+0

没有冒犯;-) – 2014-10-02 17:27:38

相关问题