在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 on 2011-05-10 09:47  MichaelZhao  阅读(2354)  评论(1编辑  收藏  举报

导航