/// <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); }
/// <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; }