Exemplo n.º 1
0
        /// <summary>Handles opening of views that are status messages</summary>
        /// <param name="context">The request context.</param>
        /// <returns>True of view was handled</returns>
        protected virtual bool HandleStatusMessage(RequestContext context)
        {
            var statusResult = context.Result as StatusMessageResult;

            if (statusResult == null)
            {
                return(false);
            }

            if (Status == null)
            {
                Status = new StatusViewResultWrapper();
            }

            Status.Model = statusResult.Model;

            if (statusResult.View != null)
            {
                Status.View = statusResult.View;
                var element = Status.View as FrameworkElement;
                if (element != null)
                {
                    element.DataContext = Status.Model;
                }
            }
            else
            {
                var grid = new Grid();
                var text = new TextBlock();
                grid.Children.Add(text);
                var binding = new Binding("Message");
                text.SetBinding(TextBlock.TextProperty, binding);
                grid.DataContext = Status.Model;
                Status.View      = grid;
            }

            CurrentStatusView        = Status.View;
            CurrentApplicationStatus = Status.Model.Status;
            RaiseEvent(new RoutedEventArgs(StatusChangedEvent));

            return(true);
        }
Exemplo n.º 2
0
        /// <summary>Handles opening of views that are status messages</summary>
        /// <param name="context">The request context.</param>
        /// <returns>True of view was handled</returns>
        protected virtual bool HandleStatusMessage(RequestContext context)
        {
            var statusResult = context.Result as StatusMessageResult;
            if (statusResult == null) return false;

            if (Status == null) Status = new StatusViewResultWrapper();

            Status.Model = statusResult.Model;

            if (statusResult.View != null)
            {
                Status.View = statusResult.View;
                var element = Status.View as FrameworkElement;
                if (element != null)
                    element.DataContext = Status.Model;
            }
            else
            {
                var grid = new Grid();
                var text = new TextBlock();
                grid.Children.Add(text);
                var binding = new Binding("Message");
                text.SetBinding(TextBlock.TextProperty, binding);
                grid.DataContext = Status.Model;
                Status.View = grid;
            }

            CurrentStatusView = Status.View;
            CurrentApplicationStatus = Status.Model.Status;
            RaiseEvent(new RoutedEventArgs(StatusChangedEvent));

            return true;
        }