我有两个窗口win1
用于显示用户列表,另一个win2
用于添加用户
我有一个方法来删除或更新后刷新网格或添加用户此方法
win1
我如何在添加用户
win2
调用此方法
我很抱歉我的英语不好
答案 0 :(得分:2)
这是一个非常基本的面向对象设计问题。因此,您希望能够在win2
上添加用户后,从win1
回复win2
中的某个功能。那么,win2
是否有对win1
对象的引用?如果是这样,那就是你怎么称呼它。如果没有,那么你需要给它一个(将它传递给构造函数或其他东西)。
或者,如果您使用的是MVVM框架,则可以使用Messenger。大多数MVVM框架都包含一个,它们非常有用。我建议走这条路线,除非这是一种一次性的程序,管道不值得。
答案 1 :(得分:1)
您可以在子窗口中使用父窗口的自定义事件 窗口听
您可以在子窗口中定义委托 引用父窗口中的方法
你可以使用某种形式的信使:这是一个例子:
http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx
答案 2 :(得分:0)
如果您从Window 1打开Window 2,您可以执行以下操作:
// code in Window1
public void AddNewUser()
{
Window2 window = new Window2();
if (window.ShowDialog() == true)
{
// Update DataGrid
RefreshDataGrid();
}
}