コード例 #1
0
ファイル: PopupsLogic.cs プロジェクト: ForNeVeR/Smith
        public static IDisposable BindPopup(
            this MainWindowModel model,
            IPopupController popupController)
        {
            model.PopupModel = PopupModel.Hidden();

            var trigger = (popupController as PopupController)?.Trigger;

            if (trigger != null)
            {
                return(trigger
                       .SubscribeOn(RxApp.TaskpoolScheduler)
                       .ObserveOn(RxApp.MainThreadScheduler)
                       .Accept(context =>
                {
                    model.PopupModel = context == null
                            ? PopupModel.Hidden()
                            : new PopupModel(context);
                }));
            }

            return(Disposable.Empty);
        }