private static void HandleShowBindingErrors(object sender, ExecutedRoutedEventArgs eventArgs)
        {
            PropertyInformation propertyInformation = (PropertyInformation)eventArgs.Parameter;
            Window window = new Window
            {
                Content = new TextBox
                {
                    IsReadOnly   = true,
                    Text         = propertyInformation.BindingError,
                    TextWrapping = TextWrapping.Wrap
                },
                Width  = 400,
                Height = 300,
                Title  = "Binding Errors for " + propertyInformation.DisplayName
            };

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(window);
            window.Closing +=
                (s, e) =>
            {
                Window w = (Window)s;
                SnoopPartsRegistry.RemoveSnoopVisualTreeRoot(w);
            };
            window.Show();
        }
Beispiel #2
0
        private void HandleShowBindingErrors(object sender, ExecutedRoutedEventArgs eventArgs)
        {
            var propertyInformation = (PropertyInformation)eventArgs.Parameter;

            if (string.IsNullOrEmpty(propertyInformation.BindingError))
            {
                propertyInformation.UpdateBindingError();
            }

            var textBox = new TextBox
            {
                IsReadOnly             = true,
                IsReadOnlyCaretVisible = true,
                AcceptsReturn          = true,
                TextWrapping           = TextWrapping.Wrap
            };

            textBox.SetBinding(TextBox.TextProperty, new Binding(nameof(propertyInformation.BindingError))
            {
                Source = propertyInformation, Mode = BindingMode.OneWay
            });

            var window = new Window
            {
                Content = textBox,
                Width   = 400,
                Height  = 300,
                Title   = "Binding Errors for " + propertyInformation.DisplayName
            };

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(window);
            window.Show();
        }
Beispiel #3
0
        public void Inspect()
        {
            object root = FindRoot();

            if (root == null)
            {
                if (!SnoopModes.MultipleDispatcherMode)
                {
                    //SnoopModes.MultipleDispatcherMode is always false for all scenarios except for cases where we are running multiple dispatchers.
                    //If SnoopModes.MultipleDispatcherMode was set to true, then there definitely was a root visual found in another dispatcher, so
                    //the message below would be wrong.
                    MessageBox.Show
                    (
                        "Can't find a current application or a PresentationSource root visual!",
                        "Can't Snoop",
                        MessageBoxButton.OK,
                        MessageBoxImage.Exclamation
                    );
                }

                return;
            }
            Load(root);

            this.Owner = SnoopWindowUtils.FindOwnerWindow(this);

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);
            this.Dispatcher.UnhandledException += new DispatcherUnhandledExceptionEventHandler(UnhandledExceptionHandler);

            Show();
            Activate();
        }
Beispiel #4
0
        public SnoopBaseWindow()
        {
            this.InheritanceBehavior = InheritanceBehavior.SkipToThemeNext;
            this.SnapsToDevicePixels = true;
            this.Icon = new BitmapImage(new Uri("pack://application:,,,/Snoop.Core;component/Snoop.ico"));

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);
        }
Beispiel #5
0
        public void Magnify(object root)
        {
            this.Target = root;

            this.Owner = SnoopWindowUtils.FindOwnerWindow(this);

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);

            this.Show();
            this.Activate();
        }
        public void Inspect(object rootToInspect)
        {
            this.Dispatcher.UnhandledException += this.UnhandledExceptionHandler;

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);

            this.Load(rootToInspect);

            this.Owner = SnoopWindowUtils.FindOwnerWindow(this);

            this.Show();
            this.Activate();
        }
Beispiel #7
0
        public void Inspect(object root, Window ownerWindow)
        {
            this.Dispatcher.UnhandledException += new DispatcherUnhandledExceptionEventHandler(UnhandledExceptionHandler);

            Load(root);

            if (ownerWindow != null)
            {
                this.Owner = ownerWindow;
            }

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);

            Show();
            Activate();
        }
Beispiel #8
0
        public void Magnify(object root)
        {
            Target = root;

            var ownerWindow = SnoopWindowUtils.FindOwnerWindow();

            if (ownerWindow != null)
            {
                Owner = ownerWindow;
            }

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);

            Show();
            Activate();
        }
        private void HandleShowBindingErrors(object sender, ExecutedRoutedEventArgs eventArgs)
        {
            var propertyInformation = (PropertyInformation)eventArgs.Parameter;
            var window  = new Window();
            var textbox = new TextBox
            {
                IsReadOnly   = true,
                Text         = propertyInformation.BindingError,
                TextWrapping = TextWrapping.Wrap
            };

            window.Content = textbox;
            window.Width   = 400;
            window.Height  = 300;
            window.Title   = "Binding Errors for " + propertyInformation.DisplayName;
            SnoopPartsRegistry.AddSnoopVisualTreeRoot(window);
            window.Show();
        }
Beispiel #10
0
        public void Inspect()
        {
            object localRoot = FindRoot();

            if (localRoot == null)
            {
                if (!SnoopModes.MultipleDispatcherMode)
                {
                    //SnoopModes.MultipleDispatcherMode is always false for all scenarios except for cases where we are running multiple dispatchers.
                    //If SnoopModes.MultipleDispatcherMode was set to true, then there definitely was a root visual found in another dispatcher, so
                    //the message below would be wrong.
                    MessageBox.Show
                    (
                        "Can't find a current application or a PresentationSource root visual!",
                        "Can't Snoop",
                        MessageBoxButton.OK,
                        MessageBoxImage.Exclamation
                    );
                }

                return;
            }
            Load(localRoot);

            Window ownerWindow = SnoopWindowUtils.FindOwnerWindow();

            if (ownerWindow != null)
            {
                if (ownerWindow.Dispatcher != Dispatcher)
                {
                    return;
                }
                Owner = ownerWindow;

                // watch for window closing so we can spit out the changed properties
                ownerWindow.Closing += SnoopedWindowClosingHandler;
            }

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);
            Dispatcher.UnhandledException += UnhandledExceptionHandler;

            Show();
            Activate();
        }
Beispiel #11
0
        public void Inspect(object root, Window ownerWindow)
        {
            this.Dispatcher.UnhandledException += new DispatcherUnhandledExceptionEventHandler(UnhandledExceptionHandler);

            Load(root);

            if (ownerWindow != null)
            {
                this.Owner = ownerWindow;

                // watch for window closing so we can spit out the changed properties
                ownerWindow.Closing += SnoopedWindowClosingHandler;
            }

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);

            Show();
            Activate();
        }
        private void HandleShowBindingErrors(object sender, ExecutedRoutedEventArgs eventArgs)
        {
            PropertyInformation propertyInformation = (PropertyInformation)eventArgs.Parameter;
            Window  window  = new Window();
            TextBox textbox = new TextBox();

            textbox.IsReadOnly   = true;
            textbox.Text         = propertyInformation.BindingError;
            textbox.TextWrapping = TextWrapping.Wrap;
            window.Content       = textbox;
            window.Width         = 400;
            window.Height        = 300;
            window.Title         = "Binding Errors for " + propertyInformation.DisplayName;
            SnoopPartsRegistry.AddSnoopVisualTreeRoot(window);
            window.Closing +=
                (s, e) =>
            {
                Window w = (Window)s;
                SnoopPartsRegistry.RemoveSnoopVisualTreeRoot(w);
            };
            window.Show();
        }
 private void SetFiltersWindow_Loaded(object sender, RoutedEventArgs e)
 {
     SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);
 }
Beispiel #14
0
        private void ErrorDialog_Loaded(object sender, RoutedEventArgs e)
        {
            TextBlockException.Text = GetExceptionMessage();

            SnoopPartsRegistry.AddSnoopVisualTreeRoot(this);
        }