コード例 #1
0
        private void RegisterViewModels(ContainerBuilder builder)
        {
            var typesProvider     = new RegisteredNavigationTypesProvider();
            var typeRegistrations = typesProvider.GetRegistrations <ViewModelRegistrationAttribute>("RemoteNotes.UI.ViewModel");

            foreach (var typeRegistration in typeRegistrations)
            {
                builder.RegisterType(typeRegistration.Type).Named <BaseViewModel>(typeRegistration.Tag).ExternallyOwned();
            }

            builder.Register(c => new ViewModelNavigationTypeHolder(typeRegistrations));
        }
コード例 #2
0
        private void RegisterPages(ContainerBuilder builder)
        {
            var typesProvider     = new RegisteredNavigationTypesProvider();
            var typeRegistrations = typesProvider.GetRegistrations <PageRegistrationAttribute>("RemoteNotes.UI.Control");

            foreach (var typeRegistration in typeRegistrations)
            {
                builder.RegisterType(typeRegistration.Type).Named <Page>(typeRegistration.Tag).ExternallyOwned();
            }

            builder.Register(c => new PageNavigationTypeHolder(typeRegistrations));
        }