Ejemplo n.º 1
0
        /// <summary>
        /// Конструктор.
        /// </summary>
        /// <param name="tracksStore">Объект для работы с треками.</param>
        public TrackDetailsViewModel(IRepository <Track, Guid> tracksStore, IPath path, ILogManager logManager, Track track)
            : base(path, logManager)
        {
            TracksStore = tracksStore;

            DeleteTrackCommand = new Command(DeleteTrack);
            OpenUrlCommand     = new Command(OpenUrl);
            UpdateTrackCommand = new Command(_ => PushPage?.Invoke(PageType.NewTrack));

            InitTrack(track);
        }
Ejemplo n.º 2
0
        public SecondModalViewModel(IViewStackService viewStackService) : base(viewStackService)
        {
            PushPage = ReactiveCommand
                       .CreateFromObservable(() =>
                                             this.ViewStackService.PushPage(new RedViewModel(ViewStackService)),
                                             outputScheduler: RxApp.MainThreadScheduler);

            PopModal = ReactiveCommand
                       .CreateFromObservable(() =>
                                             this.ViewStackService.PopModal(),
                                             outputScheduler: RxApp.MainThreadScheduler);

            PushPage.Subscribe(x => Debug.WriteLine("PagePushed"));
            PopModal.Subscribe(x => Debug.WriteLine("PagePoped"));
        }
Ejemplo n.º 3
0
        public SecondModalViewModel(IViewStackService viewStackService) : base(viewStackService)
        {
            PushPage = ReactiveCommand
                       .CreateFromObservable(() =>
                                             ViewStackService.PushPage(new RedViewModel(ViewStackService)),
                                             outputScheduler: RxApp.MainThreadScheduler);

            PopModal = ReactiveCommand
                       .CreateFromObservable(() =>
                                             ViewStackService.PopModal(),
                                             outputScheduler: RxApp.MainThreadScheduler);

            PushPage.Subscribe(x => Debug.WriteLine("PagePushed"));
            PopModal.Subscribe(x => Debug.WriteLine("PagePoped"));

            PushPage.ThrownExceptions.Subscribe(error => Interactions.ErrorMessage.Handle(error).Subscribe());
            PopModal.ThrownExceptions.Subscribe(error => Interactions.ErrorMessage.Handle(error).Subscribe());
        }