public static void Initialize() { if (initialized) { return; } initialized = true; var dispatcher = Application.Current?.Dispatcher ?? Dispatcher.CurrentDispatcher; IDependencyPropertyService <DependencyObject, DependencyObject, Style, DependencyProperty> dependencyPropertyService = new DependencyPropertyService(); var visualTreeNodeProvider = new VisualTreeNodeProvider(dependencyPropertyService); var logicalTreeNodeProvider = new LogicalTreeNodeProvider(dependencyPropertyService); var markupExtensionParser = new MarkupExtensionParser(); var cssTypeHelper = new CssTypeHelper <DependencyObject, DependencyObject, DependencyProperty, Style>(markupExtensionParser, dependencyPropertyService); instance = new BaseCss <DependencyObject, DependencyObject, Style, DependencyProperty>( dependencyPropertyService, new SwitchableTreeNodeProvider( dependencyPropertyService, new VisualWithLogicalFallbackTreeNodeProvider(dependencyPropertyService, visualTreeNodeProvider, logicalTreeNodeProvider), logicalTreeNodeProvider), new StyleResourceService(), new StyleService(new DependencyPropertyService(), new MarkupExtensionParser()), DomElementBase <DependencyObject, DependencyProperty> .GetPrefix(typeof(System.Windows.Controls.Button)), markupExtensionParser, dispatcher.Invoke, new CssFileProvider(cssTypeHelper) ); CompositionTarget.Rendering += RenderingHandler(); LoadedDetectionHelper.Initialize(); }
public static void Initialize() { if (initialized) { return; } initialized = true; var mapping = new Dictionary <string, List <string> > { { "http://schemas.microsoft.com/winfx/2006/xaml/presentation", new List <string> { typeof(System.Windows.Data.Binding).AssemblyQualifiedName.Replace(".Binding,", ","), typeof(System.Windows.Navigation.NavigationWindow).AssemblyQualifiedName.Replace(".NavigationWindow,", ","), typeof(System.Windows.Shapes.Rectangle).AssemblyQualifiedName.Replace(".Rectangle,", ","), typeof(System.Windows.Controls.Button).AssemblyQualifiedName.Replace(".Button,", ","), typeof(System.Windows.FrameworkElement).AssemblyQualifiedName.Replace(".FrameworkElement,", ","), typeof(System.Windows.Documents.Run).AssemblyQualifiedName.Replace(".Run,", ",") } } }; TypeHelpers.Initialze(mapping); CompositionTarget.Rendering += RenderingHandler(); var dispatcher = Application.Current?.Dispatcher ?? Dispatcher.CurrentDispatcher; IDependencyPropertyService <DependencyObject, Style, DependencyProperty> dependencyPropertyService = new DependencyPropertyService(); var visualTreeNodeProvider = new VisualTreeNodeProvider(dependencyPropertyService); var logicalTreeNodeProvider = new LogicalTreeNodeProvider(dependencyPropertyService); var visualTreeNodeWithLogicalFallbackProvider = new VisualWithLogicalFallbackTreeNodeProvider(dependencyPropertyService, visualTreeNodeProvider, logicalTreeNodeProvider); var markupExtensionParser = new MarkupExtensionParser(); var cssTypeHelper = new CssTypeHelper <DependencyObject, DependencyProperty, Style>(markupExtensionParser, dependencyPropertyService); var switchableTreeNodeProvider = new SwitchableTreeNodeProvider(dependencyPropertyService, visualTreeNodeWithLogicalFallbackProvider, logicalTreeNodeProvider); var defaultCssNamespace = DomElementBase <DependencyObject, DependencyProperty> .GetAssemblyQualifiedNamespaceName(typeof(System.Windows.Controls.Button)); instance = new BaseCss <DependencyObject, Style, DependencyProperty>( dependencyPropertyService, switchableTreeNodeProvider, new StyleResourceService(), new StyleService(new DependencyPropertyService(), new MarkupExtensionParser()), defaultCssNamespace, markupExtensionParser, dispatcher.Invoke, new CssFileProvider(cssTypeHelper) ); // Warmup(markupExtensionParser, defaultCssNamespace); LoadedDetectionHelper.Initialize(); }