Example #1
0
        public void Initialize()
        {
            container.RegisterType<ILinePlanService, LinePlanService>(
                // This will register the type as a singleton instance.
                new ContainerControlledLifetimeManager());

            LinePlanExplorerModel model = new LinePlanExplorerModel(container);
            explorerController.OpenDocument(model);
        }
        private void DispatchHelper(LinePlanExplorerModel model)
        {
            DispatcherFrame frame = new DispatcherFrame();

            PropertyChangedEventHandler waitForModelHandler = new PropertyChangedEventHandler(
                delegate(object sender, PropertyChangedEventArgs e) {
                    if (e.PropertyName == "State" && model.State != ModelState.Fectching) {
                        frame.Continue = false;
                    }
                });

            model.PropertyChanged += waitForModelHandler;

            DispatcherTimer tmr = new DispatcherTimer();
            tmr.Interval = new TimeSpan(0, 0, 10);
            tmr.Tag = frame;
            tmr.Start();
            tmr.Tick += new EventHandler(DoDispatcherHelperTimeout);
            Dispatcher.PushFrame(frame);

            if (tmr.Tag == null) {
                throw new TimeoutException("Timeout waiting for state change.");
            }
        }
        /// <summary>
        /// Creates a new instance of <c>LinePlanExplorer</c>.
        /// </summary>
        /// <remarks>
        /// Almost everything needs to be moved back to the model, just need to
        /// figure out how to go about doing that.
        /// </remarks>
        public LinePlanExplorer(LinePlanExplorerModel model)
        {
            InitializeComponent();

            Model = model;
        }