예제 #1
0
        public MainWindow()
        {
            // Restore settings before initializing component, we have view models that depend on it.
            tracker = Settings.Tracker;
            tracker.Track(this);

            InitializeComponent();

            if (MainViewModel.MetadataPath == null)
            {
                Title = "Nucleus Data Vault 2.0 Metadata Editor - No save path selected";
            }
            else
            {
                Title = $"Nucleus Data Vault 2.0 Metadata Editor - {MainViewModel.MetadataPath}";
            }
        }
예제 #2
0
        /// <summary>
        /// Registers the set of services in the specified <paramref name="container" />.
        /// </summary>
        /// <param name="container">The container the set of services is registered into.</param>
        public void RegisterServices(Container container)
        {
            container.Register <IThemeType, ThemeType>();
            container.Register <IGameType, GameType>();
            container.RegisterSingleton <IDatabase, Database>();
            container.InterceptWith <PropertyChangedInterceptor <IDatabase> >(x => x == typeof(IDatabase), true);

            var tracker = new Jot.Tracker(new JsonStore());

            tracker.Configure <Database>().PersistOn(PropChanged);
            container.RegisterInitializer(d =>
            {
                tracker.Track(d.Instance);
            }, ctx => ctx.Registration.ImplementationType == typeof(Database));

            container.Register <IStorageProvider, Storage>();
        }