예제 #1
0
        static ViewModelLocator()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType<AboutViewModel>();
            builder.RegisterType<DashboardViewModel>();
            builder.RegisterType<TimelineViewModel>();
            builder.RegisterType<VideoRecorderViewModel>();
            builder.RegisterType<VideoPlayerViewModel>();
            builder.RegisterType<ExistingVideoViewModel>();

            builder.RegisterType<AppSettings>();

            builder.Register(c =>
            {
                Frame frame = (Frame)Window.Current.Content;
                return new NavigationService(frame);
            });

            builder.Register(c =>
            {
                DbService dbService = new DbService(c.Resolve<AppSettings>());

                AsyncHelpers.RunSync(async () =>
                {
                    await dbService.CreateDatabase();
                    await dbService.Migrate();
                });

                return dbService;
            }).SingleInstance();

            Container = builder.Build();
        }
예제 #2
0
 public TimelineViewModel(
     DbService database,
     AppSettings settings,
     NavigationService navigationService)
 {
     this.database = database;
     this.settings = settings;
     this.navigationService = navigationService;
 }
 public ExistingVideoViewModel(NavigationService navigationService, DbService database, AppSettings settings): base(settings)
 {
     this.navigationService = navigationService;
     this.database = database;
 }
예제 #4
0
 public VideoPlayerViewModel(DbService database)
 {
     this.database = database;
 }