예제 #1
0
        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);
        }
예제 #2
0
        // 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);
        }