1

我正在使用 WPF/Prism 并有一个带有工具栏的外壳和一个带有视图的区域(该视图位于另一个模块中)。该视图中有一个绑定到视图模型列表的树视图。

我在 Shell 中有一个工具栏按钮,我想删除子区域/视图中的选定树视图项。

做这个的最好方式是什么?

我考虑过使用命令,但我不确定是否有办法将位于 Shell 中的工具栏按钮命令绑定到子视图(包含树视图)中的视图模型。这是可能的/最好的方法吗?

使用事件聚合器发布所选项目的替代方案似乎是合理的,或者使用某种类型的服务来发布所选树视图项目似乎也是可能的。

谢谢。

4

1 回答 1

0

您可以在静态类中定义静态 CompositeCommand 作为基础设施项目/dll 的一部分。使用 {x:Static} 将工具栏按钮命令属性设置为此命令,并在包含 TreeView 的视图的视图模型中定义您向 CompositeCommand 注册的本地 DelegateCommand。

但是,如果工具栏中的按钮仅适用于模块中的这个特定视图,那么将工具栏也定义为 Prism 区域并将按钮作为模块中的视图插入是有意义的。

于 2013-08-15T13:36:38.600 回答