父窗口:
///
<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()
{
/// 彈出窗口
/// </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();
}
{
// 定義委托
public delegate void ChangeTextHandler();
/// <summary>
/// FuncSetting.xaml 的交互邏輯
/// </summary>
public partial class WinFuncSetting : Window
{
public event ChangeTextHandler ChangeTextEvent;
public WinFuncSetting()
{
InitializeComponent();
}
//窗口關閉事件 你可以在任意你需要的操作后觸發事件,我這里是寫在窗口關閉里
privatevoid Window_Closed(object sender, EventArgs e)
{
StrikeEvent();
}
//觸發事件改變MainWindow的值
privatevoid StrikeEvent()
{
if (ChangeTextEvent !=null)
{
ChangeTextEvent();
}
}
privatevoid Window_Closed(object sender, EventArgs e)
{
StrikeEvent();
}
//觸發事件改變MainWindow的值
privatevoid StrikeEvent()
{
if (ChangeTextEvent !=null)
{
ChangeTextEvent();
}
}
}