【问题标题】:WPF Calling function in Page from "Master" Window从“主”窗口的页面中的 WPF 调用函数
【发布时间】:2011-04-12 19:15:16
【问题描述】:

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

有人可以帮忙在框架页面中调用函数吗?

【问题讨论】:

    标签: wpf frame


    【解决方案1】:

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

    【讨论】:

    • 最终使用以下内容调用内容框架内的函数。也可以传入一个对象数组以从函数中取回数据。 frmMain.Content.GetType().GetMethod("SaveFrm").Invoke(frmMain.Content, new object[0]);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    相关资源
    最近更新 更多