Пример #1
0
        private void CloseItemHandler(object sender, ExecutedRoutedEventArgs executedRoutedEventArgs)
        {
            var dragablzItem = executedRoutedEventArgs.Parameter as DragablzItem;

            if (dragablzItem == null)
            {
                var dependencyObject = executedRoutedEventArgs.OriginalSource as DependencyObject;
                dragablzItem = dependencyObject.VisualTreeAncestory().OfType <DragablzItem>().FirstOrDefault();
            }

            if (dragablzItem == null)
            {
                throw new ApplicationException("Unable to ascertain DragablzItem to close.");
            }

            var cancel = false;

            if (ClosingItemCallback != null)
            {
                var callbackArgs = new ClosingItemCallbackArgs <TabablzControl>(Window.GetWindow(this), this, dragablzItem);
                ClosingItemCallback(callbackArgs);
                cancel = callbackArgs.IsCancelled;
            }

            if (!cancel)
            {
                RemoveItem(dragablzItem);
            }
        }
Пример #2
0
        private void CloseItemHandler(object sender, ExecutedRoutedEventArgs executedRoutedEventArgs)
        {
            var dragablzItem = executedRoutedEventArgs.Parameter as DragablzItem;

            if (dragablzItem == null)
            {
                throw new ApplicationException("Parameter must be a DragablzItem");
            }

            var cancel = false;

            if (ClosingItemCallback != null)
            {
                var callbackArgs = new ClosingItemCallbackArgs(Window.GetWindow(this), this, dragablzItem);
                ClosingItemCallback(callbackArgs);
                cancel = callbackArgs.IsCancelled;
            }

            if (!cancel)
            {
                RemoveItem(dragablzItem);
            }
        }