从页面调用mainWindow方法到一个框架

时间:2012-11-21 21:50:27

标签: c# .net wpf

我有一个带有组合框数据的主窗口。在窗口内我有一个带页面的框架,我需要刷新组合框中的数据(我有一个方法来做到这一点) 如何从页面调用该方法?

在我的MainWindow

    public  void getCustomers()
    {
        cb_Name.ItemsSource = ve.Folders;
        cb_Name.DisplayMemberPath = "Full_Name";
        cb_Name.SelectedValuePath = "Folder_Id";
        cb_Name.SelectedIndex = 0;
    }

在我的页面

    private void btn_insert_person_Click(object sender, RoutedEventArgs e)
    {

     }

也许现在更清楚了

1 个答案:

答案 0 :(得分:2)

假设您有一个类似于主窗口类的方法:

public void RefreshComboBox();

当您创建新框架时,您可以将“方法指针”传递给它。

让我们假装您正在初始化这样的框架:

var frame = new Frame();

您可以将其构造函数更改为:

public Frame(Action refreshComboBox)

并按如下方式初始化框架:

var frame = new Frame(RefreshComboBox);

保存对Frame类中“方法指针”的引用,并在需要时调用它。

有关此行动代表的更多信息:http://msdn.microsoft.com/en-us/library/system.action.aspx