2016-01-20 86 views
0

我想找到一個選擇頁面的TabItem時觸發事件的方法。我環顧四周,發現在標題上放置一個標籤並使用MouseLeftButtonDown是使這個事件觸發的一種方式。 XAML看起來像這樣;TabItem Header Click not Always Firing

<TabItem> 
      <TabItem.Header> 
       <Label Content="Archived Jobs" MouseLeftButtonDown="CallArchivedJobsTabItemSelected"/> 
      </TabItem.Header> 
    </TabItem> 

沒有與此修復程序的問題,雖然,因爲如果下Label一個特定的地方,用戶點擊他們將能夠選擇TabItem沒有激發事件。我怎樣才能以不同的方式進行編程,以確保他們無法繞過事件觸發?

回答

3

你可以嘗試使用SelectionChanged Event,它工作得很好。請參閱示例:

private void MyTabControl_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    Console.WriteLine("You selected tab number {0}", MyTabControl.SelectedIndex); 
} 
+0

對我無效。大量的UI凍結,並不總是會觸發。 – CBreeze

+1

請您發佈事件被解僱時執行的代碼,我們可以看一下嗎?它在這裏工作得很好。 –

+0

我想根據選擇四個「TabItems」中的哪一個來執行代碼。不幸的是,在這之後,它凍結了每個「TabItem」上的'DataGrids',我無法選擇它們。我會做'if(tab1.IsSelected){//做些事情} if(tab2.IsSelected).....' – CBreeze