2015-10-14 62 views
0

我有這樣的DataGrid中的TabItem:WPF之間的TabItems問題導航

 <TabControl x:Name="MainTab" FontSize="12" IsSynchronizedWithCurrentItem="True" SelectionChanged="MainTab_SelectionChanged"> 
    <TabItem x:Name="tabAddDocs" Header=Add Docs"></TabItem> 
    <TabItem x:Name="tabEmpList" Header="Employee List"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="70*"/> 
       <ColumnDefinition Width="30*"/> 
      </Grid.ColumnDefinitions> 
      <DataGrid x:Name="empGrid" HorizontalAlignment="Left" VerticalAlignment="Top" 
        SelectionMode="Single" AlternatingRowBackground="#FFCDCDCD" AutoGenerateColumns="True" 
        AutoGeneratingColumn="empGrid_AutoGeneratingColumn" FlowDirection="RightToLeft" 
        FontSize="14" IsReadOnly="True" MouseDoubleClick="empGrid_MouseDoubleClick" 
        Loaded="empGrid_Loaded" Focusable="False" IsEnabled="False"/> 
      <Button Grid.Column="1" Name="btnJump" Click="btnJump_Click">Jump</Button> 
     </Grid> 
    </TabItem> 
</TabControl> 

我想,當我雙擊DataGrid中的其他選項卡將顯示,所以我用這個方法:

private void empGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) 
    { 
     tabAddDocs.IsSelected = true; 
    } 

但沒有任何反應。 當我按下「btnJump」按鈕這一事件觸發:

 private void btnJump_Click(object sender, RoutedEventArgs e) 
    { 
     tabAddDocs.IsSelected = true; 
    } 

這裏的標籤確實顯示。

有什麼區別? 我該如何解決這個問題?

謝謝!

+1

沒有人會幫你沒有大量的詳細信息。嘗試發佈您的xaml&code-behind。 – user3690202

+0

謝謝,是否這樣做,請儘量幫助我:) –

+0

在empGrid_MouseDoubleClick上放置一個斷點。它有沒有打? – user3690202

回答

0

如果你懷疑這是一家專注/其他行爲問題,請嘗試派遣選擇以後:

private void btnJump_Click(object sender, RoutedEventArgs e) 
{ 
    Dispatcher.BeginInvoke((Action)delegate {tabAddDocs.IsSelected = true;}, 
          DispatcherPriority.ApplicationIdle); 
} 
+0

工程就像一個魔術!謝謝! –