WPF从“主”窗口调用页面中的函数

时间:2011-04-12 19:15:16

标签: wpf frame

我在窗口中有一个按钮,需要调用框架中包含的页面中的函数。框架内的页面将根据主窗口中包含的导航进行更改,因此我将知道框架中的当前页面。

有人可以帮助解决如何在帧页面中调用函数吗?

1 个答案:

答案 0 :(得分:0)

如果您希望从MVVM角度来看这个问题,那么您需要确保不使用此处的实际视图,而是查看ViewModel的抽象。在这种情况下,您的父窗口可能由ViewModel支持,该ViewModel包含某种集合,该集合在您选择的框架/选项卡控件/容器中支持您的页面。在这种情况下,该按钮应链接到支持Window的ViewModel上的命令,并使用集合中的选定项来访问该功能。如果您没有这种方式的直接引用(例如从另一个模块加载或用于框架内容),您还可以使用Prism / CAL库中的EventAggregator并在按下窗口按钮时发布事件并设置接收该事件并在那里处理呼叫的页面。 EventAggregator可以是一种灵活的方式来以一种干净的方式处理跨模块逻辑。