private TabItem GetSelectedTabItem() { object selectedItem = SelectedItem; if (selectedItem != null) { // Check if the selected item is a TabItem TabItem tabItem = selectedItem as TabItem; if (tabItem == null) { // It is a data item, get its TabItem container tabItem = ItemContainerGenerator.ContainerFromIndex(SelectedIndex) as TabItem; // Due to event leapfrogging, we may have the wrong container. // If so, re-fetch the right container using a more expensive method. // (BTW, the previous line will cause a debug assert in this case) [Dev10 452711] if (tabItem == null || !ItemsControl.EqualsEx(selectedItem, ItemContainerGenerator.ItemFromContainer(tabItem))) { tabItem = ItemContainerGenerator.ContainerFromItem(selectedItem) as TabItem; } } return(tabItem); } return(null); }
// Token: 0x060056CA RID: 22218 RVA: 0x00180118 File Offset: 0x0017E318 private TabItem GetSelectedTabItem() { object selectedItem = base.SelectedItem; if (selectedItem != null) { TabItem tabItem = selectedItem as TabItem; if (tabItem == null) { tabItem = (base.ItemContainerGenerator.ContainerFromIndex(base.SelectedIndex) as TabItem); if (tabItem == null || !ItemsControl.EqualsEx(selectedItem, base.ItemContainerGenerator.ItemFromContainer(tabItem))) { tabItem = (base.ItemContainerGenerator.ContainerFromItem(selectedItem) as TabItem); } } return(tabItem); } return(null); }