【发布时间】:2012-07-03 12:10:34
【问题描述】:
从 SimpleMDI Caliburn Micro 项目中可以看出,有一些约定将 tabControls 中的 selectionEvent 绑定到 Conductor 中的 ActivateItem。我真的看不出有人提到这个事件可能是什么。
但是,当您的控件不能满足这些约定时,我会不知道如何自己管理它们。
我有一个 Telerik RadTreeView,我想用一个导体来管理它,以便能够按需加载节点的子节点(通过 WCF 调用)。
这是我所在的地方:
<telerik:RadTreeView x:Name="Items"
cal:Message.Attach="[Event Selected] = [ActivateItem($dataContext)]" />
传递 $dataContext 是错误的,因为这样他传递了 Conductor 本身,$SelectedItem 返回 null。
所以我比较简单的问题是三方面的。
1) 如果 RadTreeView 是一个选择器,为什么基本的 CM 约定不能使用它,
2) 我应该使用什么事件来调用 ActiveItem
3) 我可以传入什么。
【问题讨论】:
-
您是否在显示分层数据?
-
我实际上已经改变了它的工作方式。是的,我想显示分层,但它都会实现 IActivate 的东西。问题是将树视图中的事件与导体的激活逻辑连接起来。我不知道如何将所选项目作为参数传递。
标签: wpf caliburn.micro rad-controls convention-over-configur