嗨,我有一個標籤加載此用戶控件。當我希望關閉此選項卡時,我希望調用此cancelbutton_click事件以在關閉時彈出確認,如果確定,則關閉,如果取消,選項卡將保留。tab usercontrol closing event
如果我使用Unloaded事件,它會在關閉前彈出兩次。
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
cancelbutton_click(sender,null);
}
取消按鈕:
private void cancelButton_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult objResult = MessageBox.Show("\nAre you sure you want to cancel?", "Cancel Confirmation", MessageBoxButton.OKCancel);
if (objResult == MessageBoxResult.OK)
{
try
{
TabItem tabItem = parentWindow.FindTabItemByName(ControlType.BusinessesContractors.ToString(), false);
this.parentWindow.mainTabControl.Items.Remove(tabItem);
this.parentWindow.statusTextBlock.Text = "Ready";
}
catch (Exception ex)
{
}
}
如何解決這個問題?謝謝
這段代碼看起來相當可怕,從一個不同的窗口改變元素不是經常需要做或者根本不需要做的事情。事實上,即使不得不命名元素也不應該經常發生。 「catch」塊中是否真的沒有代碼? – 2011-06-03 08:33:52
我知道這不是正確的方式,但它是一個快速修復。所以如果我想將不同的用戶控件加載到不同的選項卡中,並關閉用戶控件的選項卡,那麼執行此操作的正確方法是什麼? – Kiddo 2011-06-04 03:31:28