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