using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Media; using GalaSoft.MvvmLight; using SchoolSample.Common; namespace SchoolSample { /// <summary> /// Interaction logic for CoursePage.xaml /// </summary> public partial class CoursePage : Page { #region "Constructor" public CoursePage() { InitializeComponent(); // register for BeginEditMessage AppMessages.BeginEditMessage.Register(this, OnBeginEditMessage); // register for EndEditMessage AppMessages.EndEditMessage.Register(this, OnEndEditMessage); // register for CancelEditMessage AppMessages.CancelEditMessage.Register(this, OnCancelEditMessage); if (!ViewModelBase.IsInDesignModeStatic) { // Use MEF To load the View Model DataContext = App.Container.GetExportedValue<ViewModelBase>( ViewModelTypes.CoursePageViewModel); } // set up OneWayToSource binding from courseValidationSummary // to CurrentCourseHasErrors var courseBinding = new Binding { Path = new PropertyPath("CurrentCourseHasErrors"), Mode = BindingMode.OneWayToSource }; courseValidationSummary.SetBinding(ValidationSummary.HasErrorsProperty, courseBinding); // set up OneWayToSource binding from enrollmentValidationSummary // to CurrentEnrollmentHasErrors var enrollmentBinding = new Binding { Path = new PropertyPath("CurrentEnrollmentHasErrors"), Mode = BindingMode.OneWayToSource }; enrollmentValidationSummary.SetBinding(ValidationSummary.HasErrorsProperty, enrollmentBinding); } #endregion "Constructor" #region "BeginEditMessage" private void OnBeginEditMessage(string screenName) { switch (screenName) { case "Course": titleLabel.Foreground = new SolidColorBrush(Colors.Black); titleTextBox.IsEnabled = true; titleDescriptionViewer.Visibility = Visibility.Visible; instructorLabel.Foreground = new SolidColorBrush(Colors.Black); instructorComboBox.IsHitTestVisible = true; instructorComboBox.IsTabStop = true; instructorComboBox.Foreground = new SolidColorBrush(Colors.Black); instructorDescriptionViewer.Visibility = Visibility.Visible; editCommitCourseButton.Content = "Commit"; break; case "Enrollment": studentLabel.Foreground = new SolidColorBrush(Colors.Black); studentComboBox.Foreground = new SolidColorBrush(Colors.Black); studentDescriptionViewer.Visibility = Visibility.Visible; paidLabel.Foreground = new SolidColorBrush(Colors.Black); paidCheckBox.IsEnabled = true; paidDescriptionViewer.Visibility = Visibility.Visible; editCommitEnrollmentButton.Content = "Commit"; break; } } #endregion "BeginEditMessage" #region "EndEditMessage" private void OnEndEditMessage(string screenName) { switch (screenName) { case "Course": titleLabel.Foreground = new SolidColorBrush(Colors.Gray); titleTextBox.IsEnabled = false; titleDescriptionViewer.Visibility = Visibility.Collapsed; instructorLabel.Foreground = new SolidColorBrush(Colors.Gray); instructorComboBox.IsHitTestVisible = false; instructorComboBox.IsTabStop = false; instructorComboBox.Foreground = new SolidColorBrush(Colors.Gray); instructorDescriptionViewer.Visibility = Visibility.Collapsed; editCommitCourseButton.Content = "Edit"; break; case "Enrollment": studentLabel.Foreground = new SolidColorBrush(Colors.Gray); studentComboBox.Foreground = new SolidColorBrush(Colors.Gray); studentDescriptionViewer.Visibility = Visibility.Collapsed; paidLabel.Foreground = new SolidColorBrush(Colors.Gray); paidCheckBox.IsEnabled = false; paidDescriptionViewer.Visibility = Visibility.Collapsed; editCommitEnrollmentButton.Content = "Edit"; break; } } #endregion "EndEditMessage" #region "CancelEditMessage" private void OnCancelEditMessage(string screenName) { switch (screenName) { case "Course": titleLabel.Foreground = new SolidColorBrush(Colors.Gray); titleTextBox.IsEnabled = false; titleDescriptionViewer.Visibility = Visibility.Collapsed; instructorLabel.Foreground = new SolidColorBrush(Colors.Gray); instructorComboBox.IsHitTestVisible = false; instructorComboBox.IsTabStop = false; instructorComboBox.Foreground = new SolidColorBrush(Colors.Gray); instructorDescriptionViewer.Visibility = Visibility.Collapsed; editCommitCourseButton.Content = "Edit"; break; case "Enrollment": studentLabel.Foreground = new SolidColorBrush(Colors.Gray); studentComboBox.Foreground = new SolidColorBrush(Colors.Gray); studentDescriptionViewer.Visibility = Visibility.Collapsed; paidLabel.Foreground = new SolidColorBrush(Colors.Gray); paidCheckBox.IsEnabled = false; paidDescriptionViewer.Visibility = Visibility.Collapsed; editCommitEnrollmentButton.Content = "Edit"; break; } } #endregion "CancelEditMessage" } }
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)