コード例 #1
0
        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();
        }
コード例 #2
0
ファイル: App.xaml.cs プロジェクト: dongfengxin/TomsToolbox
        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();

            ExportProviderLocator.Register(exportProvider);

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

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

            MainWindow = mainWindow;

            mainWindow.Show();
        }