Ejemplo n.º 1
0
        protected override void OnStartup([NotNull] StartupEventArgs e)
        {
            base.OnStartup(e);

            var assembly = GetType().Assembly;
            var folder   = Path.GetDirectoryName(assembly.Location);

#pragma warning disable CA2000 // Dispose objects before losing scope => AggregateCatalog will dispose all
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Infrastructure.Properties.AssemblyKey).Assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Model.Properties.AssemblyKey).Assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Translators.Properties.AssemblyKey).Assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(View.Properties.AssemblyKey).Assembly));
#pragma warning restore CA2000 // Dispose objects before losing scope

            _compositionContainer.ComposeExportedValue(_exportProvider);

            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_exportProvider));

            _compositionContainer.GetExportedValues <IService>().ForEach(service => service.Start());

            var tracer = _exportProvider.GetExportedValue <ITracer>();
            tracer.WriteLine("Started");

            tracer.WriteLine(ResXManager.Properties.Resources.IntroMessage);
            tracer.WriteLine(ResXManager.Properties.Resources.AssemblyLocation, folder ?? "unknown");
            tracer.WriteLine(ResXManager.Properties.Resources.Version, new AssemblyName(assembly.FullName).Version ?? new Version());

            VisualComposition.Error += (_, args) => tracer.TraceError(args.Text);

            MainWindow = _exportProvider.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
        protected override void OnCreate()
        {
            base.OnCreate();

            try
            {
                _tracer.WriteLine(Resources.IntroMessage);

                var view = _compositionHost.GetExportedValue <VsixShellView>();
                view.Loaded     += View_Loaded;
                view.DataContext = _compositionHost.GetExportedValue <VsixShellViewModel>();
                // ReSharper disable once PossibleNullReferenceException
                view.Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container));

                var executingAssembly = Assembly.GetExecutingAssembly();
                var folder            = Path.GetDirectoryName(executingAssembly.Location);

                _tracer.WriteLine(Resources.AssemblyLocation, folder);
                _tracer.WriteLine(Resources.Version, new AssemblyName(executingAssembly.FullName).Version);

                EventManager.RegisterClassHandler(typeof(VsixShellView), ButtonBase.ClickEvent, new RoutedEventHandler(Navigate_Click));

                // This is the user control hosted by the tool window; Note that, even if this class implements IDisposable,
                // we are not calling Dispose on this object. This is because ToolWindowPane calls Dispose on
                // the object returned by the Content property.
                Content = view;

                Dte.SetFontSize(view);
            }
            catch (Exception ex)
            {
                _tracer.TraceError("MyToolWindow OnCreate failed: " + ex);
                MessageBox.Show(string.Format(CultureInfo.CurrentCulture, Resources.ExtensionLoadingError, ex.Message));
            }
        }
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            // modern styling
            Resources.MergedDictionaries.Add(WpfStyles.GetDefaultStyles());
            Resources.RegisterDefaultWindowStyle();

            // setup visual composition infrastructure, using Ninject
            _kernel.BindExports(GetType().Assembly);
            IExportProvider exportProvider = new ExportProvider(_kernel);

            _kernel.Bind <IExportProvider>().ToConstant(exportProvider);

            // setup global export provider locator for XAML
            ExportProviderLocator.Register(exportProvider);

            // register all controls tagged as data templates
            var dynamicDataTemplates = DataTemplateManager.CreateDynamicDataTemplates(exportProvider);

            Resources.MergedDictionaries.Add(dynamicDataTemplates);

            MainWindow = exportProvider.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
Ejemplo n.º 4
0
        protected override void OnStartup([NotNull] StartupEventArgs e)
        {
            base.OnStartup(e);

            var assembly = GetType().Assembly;
            var folder   = Path.GetDirectoryName(assembly.Location);

            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(assembly));
            // ReSharper disable once AssignNullToNotNullAttribute
            _compositionCatalog.Catalogs.Add(new DirectoryCatalog(folder, "*.dll"));

            _compositionContainer.ComposeExportedValue(_exportProvider);

            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_exportProvider));

            var tracer = _exportProvider.GetExportedValue <ITracer>();

            tracer.WriteLine("Started");

            tracer.WriteLine(ResXManager.Properties.Resources.IntroMessage);
            tracer.WriteLine(ResXManager.Properties.Resources.AssemblyLocation, folder);
            tracer.WriteLine(ResXManager.Properties.Resources.Version, new AssemblyName(assembly.FullName).Version ?? new Version());

            VisualComposition.Error += (_, args) => tracer.TraceError(args.Text);

            MainWindow = _exportProvider.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
Ejemplo n.º 5
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            VisualComposition.Trace += (sender, args) => Trace.WriteLine(args.Text);
            BindingErrorTracer.Start(BindingErrorCallback);

            var context = new RegistrationBuilder();

            // Visuals can't be singletons:
            context.ForTypesDerivedFrom <FrameworkElement>()?.SetCreationPolicy(CreationPolicy.NonShared);
            // To demonstrate the ImportExtension with value converters.
            context.ForTypesDerivedFrom <IValueConverter>()?.Export();
            try
            {
                _compositionHost.AddCatalog(new ApplicationCatalog(context));
            }
            catch (ReflectionTypeLoadException ex)
            {
                MessageBox.Show(ex.Message + "\n" + string.Join("\n", ex.LoaderExceptions.Select(le => le.Message)));
            }


            Resources.MergedDictionaries.Insert(0, WpfStyles.GetDefaultStyles().RegisterDefaultWindowStyle());
            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container));

            MainWindow = _compositionHost.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
Ejemplo n.º 6
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            var assembly = GetType().Assembly;
            var folder   = Path.GetDirectoryName(assembly.Location);

            Contract.Assume(!string.IsNullOrEmpty(folder));

            _compositionHost.AddCatalog(assembly);
            _compositionHost.AddCatalog(new DirectoryCatalog(folder, "*.dll"));

            // ReSharper disable once PossibleNullReferenceException
            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container));

            var tracer = _compositionHost.GetExportedValue <ITracer>();

            tracer.WriteLine("Started");

            tracer.WriteLine(ResXManager.Properties.Resources.IntroMessage);
            tracer.WriteLine(ResXManager.Properties.Resources.AssemblyLocation, folder);
            tracer.WriteLine(ResXManager.Properties.Resources.Version, new AssemblyName(assembly.FullName).Version);

            // ReSharper disable once PossibleNullReferenceException
            VisualComposition.Error += (_, args) => tracer.TraceError(args.Text);

            MainWindow = _compositionHost.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
        protected override void OnCreate()
        {
            try
            {
                base.OnCreate();

                _tracer.WriteLine(_introMessage);

                var executingAssembly = Assembly.GetExecutingAssembly();
                var folder            = Path.GetDirectoryName(executingAssembly.Location);

                _tracer.WriteLine("Assembly location: {0}", folder);
                _tracer.WriteLine("Version: {0}", new AssemblyName(executingAssembly.FullName).Version);


                var view = _compositionHost.GetExportedValue <ShellView>();
                view.Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container));

                view.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(Navigate_Click));

                Content = view;
            }
            catch (Exception ex)
            {
                _tracer.TraceError(ex);
            }
        }
Ejemplo n.º 8
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            var assembly = GetType().Assembly;

            _kernel.BindExports(assembly,
                                typeof(Infrastructure.Properties.AssemblyKey).Assembly,
                                typeof(Model.Properties.AssemblyKey).Assembly,
                                typeof(Translators.Properties.AssemblyKey).Assembly,
                                typeof(View.Properties.AssemblyKey).Assembly);

            IExportProvider exportProvider = new ExportProvider(_kernel);

            _kernel.Bind <IExportProvider>().ToConstant(exportProvider);

            Resources.MergedDictionaries.Add(TomsToolbox.Wpf.Styles.WpfStyles.GetDefaultStyles());
            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));

            exportProvider.GetExportedValues <IService>().ForEach(service => service.Start());

            var tracer = exportProvider.GetExportedValue <ITracer>();

            tracer.WriteLine("Started");
            tracer.WriteLine(ResXManager.Properties.Resources.IntroMessage);
            tracer.WriteLine(ResXManager.Properties.Resources.AssemblyLocation, Path.GetDirectoryName(assembly.Location) ?? "unknown");
            tracer.WriteLine(ResXManager.Properties.Resources.Version, new AssemblyName(assembly.FullName).Version ?? new Version());

            VisualComposition.Error += (_, args) => tracer.TraceError(args.Text);

            MainWindow = exportProvider.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
Ejemplo n.º 9
0
        protected override void OnStartup([NotNull] StartupEventArgs e)
        {
            base.OnStartup(e);

            var assembly = GetType().Assembly;
            var folder   = Path.GetDirectoryName(assembly.Location);

            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(ResXManager.Infrastructure.ITracer).Assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(ResXManager.Model.GlobalExtensions).Assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(ResXManager.Translators.AzureTranslator).Assembly));
            _compositionCatalog.Catalogs.Add(new AssemblyCatalog(typeof(ResXManager.View.Appearance).Assembly));

            _compositionContainer.ComposeExportedValue(_exportProvider);

            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_exportProvider));

            _compositionContainer.GetExportedValues <IService>().ForEach(service => service.Start());

            var tracer = _exportProvider.GetExportedValue <ITracer>();

            tracer.WriteLine("Started");

            tracer.WriteLine(ResXManager.Properties.Resources.IntroMessage);
            tracer.WriteLine(ResXManager.Properties.Resources.AssemblyLocation, folder);
            tracer.WriteLine(ResXManager.Properties.Resources.Version, new AssemblyName(assembly.FullName).Version ?? new Version());

            VisualComposition.Error += (_, args) => tracer.TraceError(args.Text);

            MainWindow = _exportProvider.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
Ejemplo n.º 10
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            DataTemplateManager manager = new DataTemplateManager();

            manager.LoadDataTemplatesByConvention();
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ToolWindowShell"/> class.
        /// </summary>
        public ToolWindowShell(IExportProvider exportProvider)
        {
            this.SetExportProvider(exportProvider);

            InitializeComponent();

            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));
            Resources.MergedDictionaries.Insert(0, WpfStyles.GetDefaultStyles());
        }
Ejemplo n.º 12
0
        public UploadDataTemplate()
        {
            InitializeComponent();
            copyProgress.Visibility = Visibility.Collapsed;
            var manager = new DataTemplateManager();

            cbTemplateType.ItemsSource   = manager.GetDataTemplateTypes();
            cbTemplateType.SelectedIndex = 0;
        }
Ejemplo n.º 13
0
        private DataTemplateManager GetTempManager()
        {
            if (_tempMgr == null)
            {
                _tempMgr = new DataTemplateManager();
            }

            return(_tempMgr);
        }
Ejemplo n.º 14
0
        static NoteFactory()
        {
            DataTemplateManager manager = new DataTemplateManager();

            foreach (NoteType noteType in NoteTypes)
            {
                manager.RegisterDataTemplate(noteType.NType, noteType.ViewType);
            }
        }
Ejemplo n.º 15
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            //Entry point for simple wpf
            var core = new SimpleCore();

            core.Startup(new AppViewModel(), new LocationViewModel(), true);

            //Multiple ways to load templates
            var templateManager = new DataTemplateManager();

            templateManager.LoadDataTemplatesByConvention();
        }
Ejemplo n.º 16
0
        public Inventory(GameObject inOwner, DataTemplateManager <TTemplate> templateManager, int slotCount)
        {
            this.owner              = inOwner;
            this.SlotCount          = slotCount;
            this.dataTempateManager = templateManager;

            // initialize item slots
            ItemSlots = new InventoryItemSlot <TTemplate, TInstance> [slotCount];
            for (int i = 0; i < slotCount; i++)
            {
                ItemSlots[i] = new InventoryItemSlot <TTemplate, TInstance>(this);
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 初始化模板选择下拉框数据源
        /// </summary>
        private bool InitComboSource()
        {
            bool b       = false;
            var  manager = new DataTemplateManager();

            cbTemplate.ItemsSource = manager.GetAllDataTemplatesByType(type);
            if (cbTemplate.Items.Count > 0)
            {
                cbTemplate.SelectedIndex = 0;
                b = true;
            }
            return(b);
        }
Ejemplo n.º 18
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            SimpleCore core  = new SimpleCore();
            var        appVm = new AppViewModel();
            var        redVm = new RedViewModel();

            core.Startup(appVm, redVm, true);

            DataTemplateManager manager = new DataTemplateManager();

            manager.LoadDataTemplatesByConvention();
        }
        /// <inheritdoc />
        public void Execute()
        {
            Log.Debug($"Registering DataTemplates using {MappingProviders.Count()} {nameof(MappingProviders)}.");

            var viewModelTypes = ViewModelTypeSources.SelectMany(s => s.GetValues()).ToArray();
            var viewTypes      = ViewTypeSources.SelectMany(s => s.GetValues()).ToArray();
            var manager        = new DataTemplateManager();

            foreach (var mappingProvider in MappingProviders)
            {
                Log.Debug($"Registering mappings using {mappingProvider.GetType().FullName}.");
                foreach (var tuple in mappingProvider.GetMappings(viewModelTypes, viewTypes))
                {
                    manager.RegisterDataTemplate(tuple.viewModelType, tuple.viewType);
                }
            }
        }
Ejemplo n.º 20
0
        protected override void OnCreate()
        {
            try
            {
                base.OnCreate();

                var view = _compositionHost.GetExportedValue <ShellView>();
                view.Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container));

                EventManager.RegisterClassHandler(typeof(ShellView), ButtonBase.ClickEvent, new RoutedEventHandler(Navigate_Click));

                Content = view;
            }
            catch (Exception ex)
            {
                _tracer.TraceError(ex);
            }
        }
Ejemplo n.º 21
0
        public VsixShellView(IExportProvider exportProvider, ThemeManager themeManager, IVsixShellViewModel viewModel)
        {
            _themeManager = themeManager;

            try
            {
                this.SetExportProvider(exportProvider);

                InitializeComponent();

                DataContext = viewModel;
                Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));
            }
            catch (Exception ex)
            {
                exportProvider.TraceXamlLoaderError(ex);
            }
        }
        public VsixShellView([NotNull] ExportProvider exportProvider, [NotNull] ThemeManager themeManager, VsixShellViewModel viewModel)
        {
            Contract.Requires(exportProvider != null);
            Contract.Requires(themeManager != null);

            _themeManager = themeManager;

            try
            {
                this.SetExportProvider(exportProvider);

                InitializeComponent();

                DataContext = viewModel;
                Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));
            }
            catch (Exception ex)
            {
                exportProvider.TraceError(ex.ToString());

                var path = Path.GetDirectoryName(GetType().Assembly.Location);
                Contract.Assume(!string.IsNullOrEmpty(path));

                var assemblyFileNames = Directory.EnumerateFiles(path, @"*.dll")
                                        .Where(file => !"DocumentFormat.OpenXml.dll".Equals(Path.GetFileName(file), StringComparison.OrdinalIgnoreCase))
                                        .ToArray();

                var assemblyNames = new HashSet <string>(assemblyFileNames.Select(Path.GetFileNameWithoutExtension));

                var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();

                var messages = loadedAssemblies
                               .Where(a => assemblyNames.Contains(a.GetName().Name))
                               .Select(assembly => string.Format(CultureInfo.CurrentCulture, "Assembly '{0}' loaded from {1}", assembly.FullName, assembly.CodeBase))
                               .OrderBy(text => text, StringComparer.OrdinalIgnoreCase)
                               .ToArray();

                foreach (var message in messages)
                {
                    exportProvider.WriteLine(message);
                }
            }
        }
Ejemplo n.º 23
0
        protected override void OnStartup([CanBeNull] StartupEventArgs e)
        {
            base.OnStartup(e);

            VisualComposition.Trace += (sender, args) => Trace.WriteLine(args.Text);
            BindingErrorTracer.Start(BindingErrorCallback);

            _diAdapter = new DIAdapter();

            var exportProvider = _diAdapter.Initialize();

            Resources.MergedDictionaries.Insert(0, WpfStyles.GetDefaultStyles().RegisterDefaultWindowStyle());
            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));

            var mainWindow = exportProvider.GetExportedValue <MainWindow>();

            MainWindow = mainWindow;

            mainWindow.Show();
        }
Ejemplo n.º 24
0
        public override bool LoadPlugin()
        {
            // No idea if this is how you are supposed to do it

            if (Application.Current == null)
            {
                new Application();
            }
            Application.ResourceAssembly = typeof(MainWindowView).Assembly;

            DataTemplateManager manager = new DataTemplateManager();
            manager.RegisterDataTemplate(typeof(Player), typeof(PlayerView));
            manager.RegisterDataTemplate(typeof(ScoreboardControlPanelViewModel), typeof(ScoreboardControlPanelView));
            manager.RegisterDataTemplate(typeof(SettingsPanelViewModel), typeof(SettingsPanelView));
            manager.RegisterDataTemplate(typeof(ScoreboardControlViewModel), typeof(ScoreboardControl));

            API.Instance.AddImageSourceFactory(new StarboardImageSourceFactory());

            return true;
        }
        public static bool?Show(ExportProvider exportProvider, object content, string title)
        {
            var window = new Window
            {
                WindowStartupLocation = WindowStartupLocation.CenterOwner,
                Owner         = Application.Current?.MainWindow,
                Title         = title,
                ResizeMode    = ResizeMode.NoResize,
                WindowStyle   = WindowStyle.SingleBorderWindow,
                SizeToContent = SizeToContent.WidthAndHeight,
            };

            window.SetExportProvider(exportProvider);
            window.Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));
            window.SetResourceReference(StyleProperty, Styles.ResourceKeys.WindowStyle);
            window.Content = new ConfirmationDialog {
                Content = content
            };

            return(window.ShowDialog());
        }
Ejemplo n.º 26
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            var path = Path.GetDirectoryName(GetType().Assembly.Location);

            Contract.Assume(!string.IsNullOrEmpty(path));

            _compositionHost.AddCatalog(GetType().Assembly);
            _compositionHost.AddCatalog(new DirectoryCatalog(path, "*.dll"));

            Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container));

            var tracer = _compositionHost.GetExportedValue <ITracer>();

            tracer.WriteLine("Started");

            VisualComposition.Error += (_, args) => tracer.TraceError(args.Text);

            MainWindow = _compositionHost.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
        public static bool?Show([NotNull] IExportProvider exportProvider, [CanBeNull] object content, [CanBeNull] string title, [CanBeNull] Window owner)
        {
            var window = new Window
            {
                WindowStartupLocation = WindowStartupLocation.CenterOwner,
                Owner         = owner ?? Application.Current?.MainWindow,
                Title         = title,
                ResizeMode    = ResizeMode.NoResize,
                WindowStyle   = WindowStyle.SingleBorderWindow,
                SizeToContent = SizeToContent.WidthAndHeight,
                Icon          = new BitmapImage(new Uri("pack://application:,,,/ResXManager.View;component/16x16.png"))
            };

            window.SetExportProvider(exportProvider);
            window.Resources.MergedDictionaries.Add(DataTemplateManager.CreateDynamicDataTemplates(exportProvider));
            window.SetResourceReference(StyleProperty, TomsToolbox.Wpf.Composition.Styles.ResourceKeys.WindowStyle);
            window.Content = new ConfirmationDialog {
                Content = content
            };

            return(window.ShowDialog());
        }
Ejemplo n.º 28
0
        /// <summary>
        /// 概要:创建井位图
        /// </summary>
        private void CreateWellLocation()
        {
            //1.引入数据模板
            var manager = new DataTemplateManager();

            manager.RegDataTemplateByFile <WellLocation>(type, cbTemplate.SelectedValue.ToString());
            //2.创建Layer
            Layer            layer = new Layer();
            TXTWellLocations twl   = new TXTWellLocations()
            {
                TxtFile = "d:/welllocations.txt"
            };

            layer.Objects = GraphGeFactory.Single().Create(twl);
            //3.绑定lc数据源
            Binding bd = new Binding("Objects")
            {
                Source = layer
            };

            lc.SetBinding(ItemsControl.ItemsSourceProperty, bd);
        }
Ejemplo n.º 29
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            SimpleCore core = new SimpleCore();

            //The 2nd and 3rd parameters are optional.
            //2nd: Sets a default viewmodel.
            //3rd: Force auto-navigate to default on startup.
            core.Startup(new AppViewModel(), new BlueViewModel(), true);

            //Load Templates based on naming convention
            //EX: 'RedViewModel' will be paired with 'RedView'
            DataTemplateManager manager = new DataTemplateManager();

            manager.LoadDataTemplatesByConvention();

            //Alternative would be to manually pair types
            //This would idealy be used if you do not follow
            //the naming conventions 'View' and 'ViewModel'
            //manager.RegisterDataTemplate<RedViewModel, RedView>();
        }
Ejemplo n.º 30
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            BindingErrorTracer.Start(BindingErrorCallback);

            var context = new RegistrationBuilder();

            // Visuals can't be singletons:
            context.ForTypesDerivedFrom <FrameworkElement>()?.SetCreationPolicy(CreationPolicy.NonShared);
            // To demonstrate the ImportExtension with value converters.
            context.ForTypesDerivedFrom <IValueConverter>()?.Export();
            _compositionHost.AddCatalog(new ApplicationCatalog(context));

            var dataTemplateResources = DataTemplateManager.CreateDynamicDataTemplates(_compositionHost.Container);

            Resources.MergedDictionaries.Add(dataTemplateResources);

            Resources.MergedDictionaries.Insert(0, WpfStyles.Defaults());

            MainWindow = _compositionHost.GetExportedValue <MainWindow>();
            MainWindow.Show();
        }
 public MyControl()
 {
     this.DataTemplateManager = new DataTemplateManager();
 }