public void DesignSurface_OnLoaded_Invoke_Success(LoadedEventArgs eventArgs) { var surface = new SubDesignSurface(); // No handler. surface.OnLoaded(eventArgs); // Handler. int callCount = 0; LoadedEventHandler handler = (sender, e) => { Assert.Equal(surface, sender); Assert.Same(eventArgs, e); callCount++; }; surface.Loaded += handler; surface.OnLoaded(eventArgs); Assert.Equal(1, callCount); // Should not call if the handler is removed. surface.Loaded -= handler; surface.OnLoaded(eventArgs); Assert.Equal(1, callCount); }
private static void OnLoadDetectionChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs ev) { if ((dpo is TextBlock t) && t.Name == MarkupExtensionParser.MarkupParserHelperId) { return; } if ((bool)ev.NewValue == true) { if (dpo is FrameworkElement frameworkElement) { frameworkElement.Loaded += LoadedEventHandler; frameworkElement.Unloaded += UnloadedEventHandler; frameworkElement.Initialized += FrameworkElement_Initialized; if (frameworkElement.IsLoaded) { LoadedEventHandler.Invoke(frameworkElement, new RoutedEventArgs()); } } else if (dpo is FrameworkContentElement frameworkContentElement) { frameworkContentElement.Loaded += LoadedEventHandler; frameworkContentElement.Unloaded += UnloadedEventHandler; frameworkContentElement.Initialized += FrameworkElement_Initialized; if (frameworkContentElement.IsLoaded) { LoadedEventHandler.Invoke(frameworkContentElement, new RoutedEventArgs()); } } } else { if (dpo is FrameworkElement frameworkElement) { frameworkElement.Unloaded -= UnloadedEventHandler; frameworkElement.Loaded -= LoadedEventHandler; frameworkElement.Initialized -= FrameworkElement_Initialized; } else if (dpo is FrameworkContentElement frameworkContentElement) { frameworkContentElement.Unloaded -= UnloadedEventHandler; frameworkContentElement.Loaded -= LoadedEventHandler; frameworkContentElement.Initialized -= FrameworkElement_Initialized; } } }
private static void OnLoadDetectionChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs ev) { if ((bool)ev.NewValue == true) { if (dpo is FrameworkElement frameworkElement) { frameworkElement.Loaded += LoadedEventHandler; frameworkElement.Unloaded += UnloadedEventHandler; //frameworkElement.Initialized += FrameworkElement_Initialized; if (frameworkElement.IsLoaded) { LoadedEventHandler.Invoke(frameworkElement, new RoutedEventArgs()); } } else if (dpo is FrameworkContentElement frameworkContentElement) { frameworkContentElement.Loaded += LoadedEventHandler; frameworkContentElement.Unloaded += UnloadedEventHandler; //frameworkContentElement.Initialized += FrameworkElement_Initialized; if (frameworkContentElement.IsLoaded) { LoadedEventHandler.Invoke(frameworkContentElement, new RoutedEventArgs()); } } } else { if (dpo is FrameworkElement frameworkElement) { frameworkElement.Unloaded -= UnloadedEventHandler; frameworkElement.Loaded -= LoadedEventHandler; frameworkElement.Initialized -= FrameworkElement_Initialized; } else if (dpo is FrameworkContentElement frameworkContentElement) { frameworkContentElement.Unloaded -= UnloadedEventHandler; frameworkContentElement.Loaded -= LoadedEventHandler; frameworkContentElement.Initialized -= FrameworkElement_Initialized; } } }
protected FileLoader(Dispatcher dispatcher) { this.dispatcher = dispatcher; this.LoadedMainEvent = RaiseLoadedMainThread; this.loadFailedMainEvent = RaiseLoadFailedMainThread; }