转:在wpf或winform关闭子窗口或对子窗口进行某个操作后刷新父窗口

父窗口:

 



///<summary>
///弹出窗口
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
private void miFuncSet_Click(object sender, RoutedEventArgs e)
{
WinFuncSetting funcSetting = new WinFuncSetting();
funcSetting.ChangeTextEvent += new ChangeTextHandler(FuncSettingClosed);
funcSetting.ShowDialog();
}
//设置窗口关闭时执行的方法
void FuncSettingClosed()
{
      //写你想调用的方法,如重新绑定数据源啊 改变某标签的值啊 等等
     }

 子窗口: 

namespace EFM.FuncTest.assist
{
//定义委托
public delegate void ChangeTextHandler();
///<summary>
/// FuncSetting.xaml 的交互逻辑
///</summary>
public partial class WinFuncSetting : Window
{
public event ChangeTextHandler ChangeTextEvent;
public WinFuncSetting()
{
InitializeComponent();
}
    //窗口关闭事件 你可以在任意你需要的操作后触发事件,我这里是写在窗口关闭里
    private void Window_Closed(object sender, EventArgs e)
    {
        StrikeEvent();
    }
    //触发事件改变MainWindow的值
    private void StrikeEvent()
    {
        if (ChangeTextEvent != null)
        {
            ChangeTextEvent();
        }
    }
}




posted @ 2012-06-27 14:17  诸葛风流  阅读(200)  评论(0)    收藏  举报