0
我有一個承載頁面的窗口。當用戶在關閉MainWindow時單擊取消時,我想在頁面上觸發一個事件。目前我正在努力研究如何在頁面窗口中觸發事件。這是頁面上的事件;從主窗口的頁面觸發事件
public void OnChangeUserEvent()
{
var _employeeSelectionWindow = new EmployeeSelectionWindow();
_employeeSelectionWindow.ReturnEmployeeDetails += LoadSelectedEmployeeAsLoggedInUser;
_employeeSelectionWindow.ShowDialog();
}
而這裏是當我想開火它(這個方法是在一個窗口,託管的頁面);
private void OnWindowClosed(object sender, System.ComponentModel.CancelEventArgs e)
{
var result = MessageBox.Show(@"Are you sure you want to exit the database?" + Environment.NewLine + "Click cancel to change user.",
"", MessageBoxButton.YesNoCancel);
if (result == MessageBoxResult.Yes)
{
Environment.Exit(0);
}
else if (result == MessageBoxResult.Cancel)
{
//Fire the event on the page here!
e.Cancel = true;
}
else
{
e.Cancel = true;
}
}
我試過使用類似的東西;
((LoginPage)e.Content).UserChangeEvent+= new EventHandler(MainWindow_NewRecordSaved);
到目前爲止沒有任何工作爲我。
在將頁面添加到NavigationService之前,您是否可以將頁面實例作爲變量保存在Window中(如果您將窗口添加到窗口後面的代碼中)?保存所顯示的同一頁面的引用將允許您調用公共方法的頁面。 –