我想设计一个类似于Visual Studio的应用程序,其中工具栏对工作区区域敏感,并且它们是常见的工具栏,它们具有上下文敏感功能,如剪切,复制,粘贴(对于这些我可以有应用程序命令),注释选中(自定义命令)。
我想让工作区不知道工具栏控件。
我尝试使用自定义路由命令,但它只适用于可视树中的父级(气泡路由策略),但我的工具栏和工作区位于shell中的同一级别。
他们在WPF中设计这样的应用程序的具体模式(我确信必须有)吗?
答案 0 :(得分:0)
我实现了您所描述的简单版本,其中工具栏具有上下文敏感的选项,只是显示或隐藏。应用程序使用MVVM模式,因此我的工具栏有一个视图模型。我利用消息总线(有时称为事件聚合器)来发布工具栏视图模型可以做出反应的消息。