C# 在框架wpf c中导航外部框架#

C# 在框架wpf c中导航外部框架#,c#,.net,xml,wpf,frame,C#,.net,Xml,Wpf,Frame,我有一个分为三行的网格。最上面一行有菜单选项。中间一行有另一个分为两列的网格。左栏有一个框架(frameleft),右栏有一个框架(frameright)。当用户单击顶部的菜单时,frameleft将加载一个页面,其中显示该选项的子菜单 当他们点击其中一个子菜单时,我想在frameright上加载一个页面,但不知道怎么做。在主窗口中,我可以直接调用它 frameright.Navigate(new DetailPage()). 但是当我使用frameleft页面(MenuPage)时,我无

我有一个分为三行的网格。最上面一行有菜单选项。中间一行有另一个分为两列的网格。左栏有一个框架(frameleft),右栏有一个框架(frameright)。当用户单击顶部的菜单时,frameleft将加载一个页面,其中显示该选项的子菜单

当他们点击其中一个子菜单时,我想在frameright上加载一个页面,但不知道怎么做。在主窗口中,我可以直接调用它

frameright.Navigate(new DetailPage()).  
但是当我使用frameleft页面(MenuPage)时,我无法调用它

我不知道怎么打电话给警察

frameright.navigate 
方法从不同的框架或页面中删除。
请提供帮助。

您可以使用EventAggregator实现这种目的

EventAggregator服务主要是用于以下事件的容器: 允许发布者和订阅者的分离,以便它们能够发展 独立地。这种解耦在模块化应用程序中很有用 因为可以添加响应由定义的事件的新模块 shell或更可能的其他模块


谷歌搜索“Prism EventAggregator”可以找到大量的示例。

我搜索了Prism EventAggregator,但对于一个简单的命令来说,它似乎太多了。我只想把一个页面加载到一个框架中。但我会继续寻找。不是我不想花时间,而是我希望有一个更简单的解决方案。我感谢你的帮助!看。让我们正确理解这个概念。看看你想要做的是一个纯C#对象。你有3种不同的选择来解决你的问题。1.如果你想让你的对象完全解耦的话,可以使用类似EventAggregator的东西。2.更改设计,使父对象(菜单)实际包含要操作的对象实例(列)。3.从菜单中使用某种“定位器”方法来搜索控件并定位列。您可以通过执行逻辑视图搜索来实现这一点。这三个是我所知道的更直接的方法。有意义吗?谢谢你的建议。实际上,我最终是从框架本身开始做的。我将我的页面加载到一个有子框架的框架中,并以这种方式进行处理。感谢大家的投入。