父窗口:
///<summary>
///彈出窗口
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
privatevoid 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>
privatevoid miFuncSet_Click(object sender, RoutedEventArgs e)
{
WinFuncSetting funcSetting =new WinFuncSetting();
funcSetting.ChangeTextEvent +=new ChangeTextHandler(FuncSettingClosed);
funcSetting.ShowDialog();
}
//設置窗口關閉時執行的方法
void FuncSettingClosed()
{
//寫你想調用的方法,如重新綁定數據源啊 改變某標簽的值啊 等等
}
namespace EFM.FuncTest.assist
{
//定義委托
publicdelegatevoid ChangeTextHandler();
///<summary>
/// FuncSetting.xaml 的交互邏輯
///</summary>
publicpartialclass WinFuncSetting : Window
{
publicevent ChangeTextHandler ChangeTextEvent;
public WinFuncSetting()
{
InitializeComponent();
}
{
//定義委托
publicdelegatevoid ChangeTextHandler();
///<summary>
/// FuncSetting.xaml 的交互邏輯
///</summary>
publicpartialclass WinFuncSetting : Window
{
publicevent 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();
}
}
}