2013-01-09 19 views
0

我有一個帶有兩個選項卡(A,B)的WPF選項卡控件。由於TabItem上沒有Clicked事件,因此我在Tab B上添加了一個previewMouseDown事件,並且messageBox將顯示出來。但是,在關閉messageBox後,我的應用程序將不會導航到Tab B.任何人都可以幫助我?標籤在選項卡的PreviewMouseDown事件上添加MessageBox後無法導航

C#代碼片段:

private void MyTabB_PreviewMouseDown(object sender, MouseButtonEventArgs e) 
    { 
     MessageBox.Show("Please login"); 
    } 

回答

1

可以使用TabControlSelectionChanged事件。

既然你知道登錄所選選項卡說指數0,改變選定的選項卡後,在MessageBox即是這樣的

MyTabB_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    TabControl tc= ((TabControl)sender; 
    if(tc.SelectedIndex == tc.Items.IndexOf(A/*Login tab*/)) 
     { 
     MessageBox.Show("Login") 
     tc.SelectedIndex = tc.Items.IndexOf(B); 
     } 
} 

這意味着,只要你選擇一個你將消息框彈出,那麼你登錄。

另外,爲什麼不在A中放置一個按鈕或ClickedEvent的任何控件,然後單擊時tc.SelectedIndex被更改。

相關問題