Exemple #1
0
        private void TabDrop(DropEventArgs e)
        {
            foreach (var item in tabs)
            {
                ListBoxItem      myListBoxItem      = (ListBoxItem)(TabsList.ItemContainerGenerator.ContainerFromItem(item));
                ContentPresenter myContentPresenter = VisualHelper.FindVisualChild <ContentPresenter>(myListBoxItem);

                if (myContentPresenter.IsMouseOver)
                {
                    var tabPosition = myContentPresenter.TransformToAncestor(FindMyWindow())
                                      .Transform(new Point(0, 0));

                    var position = new Point(e.RelativeMousePosition.X - tabPosition.X, e.RelativeMousePosition.Y - tabPosition.Y);

                    TabDropOnElement(item, position, e.Data as Model.UI.TabItem);
                    return;
                }
            }

            TabDropOnEmptyArea(e.Data as Model.UI.TabItem);
        }