ButchersBoy / Dragablz

Dragable and tearable tab control for WPF
http://dragablz.net
MIT License
2.17k stars 320 forks source link

"Exception has been thrown by the target of an invocation." #247

Open gsgoodluck opened 3 years ago

gsgoodluck commented 3 years ago

at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)\r\n at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)\r\n at System.Delegate.DynamicInvokeImpl(Object[] args)\r\n at System.Windows.RoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)\r\n at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)\r\n at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)\r\n at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)\r\n at Dragablz.DragablzItem.ThumbOnDragDelta(Object sender, DragDeltaEventArgs dragDeltaEventArgs)\r\n at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)\r\n at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, B oolean reRaised)\r\n at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)\r\n at System.Windows.Controls.Primitives.Thumb.OnMouseMove(MouseEventArgs e)\r\n at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)\r\n at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)\r\n at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)\r\n at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)\r\n at System.Windows.Input.InputManager.ProcessStagingArea()\r\n at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)\r\n at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)\r\n at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) \r\n at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)\r\n at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)\r\n at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)\r\n at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)\r\n at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)"

gsgoodluck commented 3 years ago

e.Exception.InnerException.StackTrace " at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)\r\n at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)\r\n at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)\r\n at System.Activator.CreateInstance(Type type)\r\n at Dragablz.DefaultInterTabClient.GetNewHost(IInterTabClient interTabClient, Object partition, TabablzControl source)\r\n at Dragablz.TabablzControl.MonitorBreach(DragablzDragDeltaEventArgs e)"

gsgoodluck commented 3 years ago

this.DispatcherUnhandledException += App_DispatcherUnhandledException; catch

gsgoodluck commented 3 years ago

public class InterTabClient : IInterTabClient { public INewTabHost GetNewHost(IInterTabClient interTabClient, object partition, TabablzControl source) { var window = Create(); return new NewTabHost(window, window.InitialTabablzControl); }

    public TabEmptiedResponse TabEmptiedHandler(TabablzControl tabControl, Window window)
    {

        window.Close();
        return Application.Current.Windows.OfType<MainWindowTemp>().Count() == 1
            ? TabEmptiedResponse.DoNothing
            : TabEmptiedResponse.CloseWindowOrLayoutBranch;
    }

    public MainWindowTemp Create()
    {
        var window = new MainWindowTemp();
        var model = CommonServiceLocator.ServiceLocator.Current.GetInstance<MainWindowViewModel>();

        window.DataContext = model;

        window.Closing += (sender, e) =>
        {
            if (TabablzControl.GetIsClosingAsPartOfDragOperation(window)) return;

            var todispose = ((MainWindowTemp)sender).DataContext as IDisposable;

            todispose?.Dispose();
        };

        return window;
    }
}
gsgoodluck commented 3 years ago

![Uploading Error.png…]()