Пример #1
0
        public MainViewModel(
            IViewModelWindowManager viewModelWindowManager,
            IPublishEvent publishEvent,
            ForwardRuleDispatch forwardRuleDispatch,
            Func <MessageListViewModel> messageListViewModelFactory,
            Func <MessageDetailViewModel> messageDetailViewModelFactory,
            LogClientSinkQueue logClientSinkQueue,
            AppResourceLocator resourceLocator)
        {
            _viewModelWindowManager = viewModelWindowManager;
            _publishEvent           = publishEvent;
            _forwardRuleDispatch    = forwardRuleDispatch;

            MessageListViewModel   = messageListViewModelFactory();
            MessageDetailViewModel = messageDetailViewModelFactory();

            MessageListViewModel.ConductWith(this);
            MessageDetailViewModel.ConductWith(this);

            _logClientSinkQueue = logClientSinkQueue;
            _resourceLocator    = resourceLocator;

            LogText = _resourceLocator.GetResourceString("LogClientSink.html");

            SetupObservables();
        }
Пример #2
0
        protected override void OnViewLoaded(object view)
        {
            base.OnViewLoaded(view);

            var typedView = view as MainView;

            var logPanel = typedView.LogPanel;

            logPanel.Text = _resourceLocator.GetResourceString("LogClientSink.html");

            this.GetPropertyValues(m => m.LogText)
            .Throttle(TimeSpan.FromMilliseconds(200), TaskPoolScheduler.Default)
            .ObserveOnDispatcher()
            .Subscribe(m => logPanel.Text = m);
        }