/// <summary> /// Delegate called when the ok button style property changed. /// </summary> /// <param name="pObject">The modified object.</param> /// <param name="pEventArgs">The event arguments.</param> private static void OnOkButtonStyleChanged(DependencyObject pObject, DependencyPropertyChangedEventArgs pEventArgs) { NotificationView lControl = pObject as NotificationView; if (lControl != null) { lControl.UpdateState(); } }
/// <summary> /// Delegate called when the data context property changed. /// </summary> /// <param name="pObject">The modified object.</param> /// <param name="pEventArgs">The event arguments.</param> private static void OnDataContextChanged(DependencyObject pObject, DependencyPropertyChangedEventArgs pEventArgs) { NotificationView lControl = pObject as NotificationView; if (lControl != null) { BindingOperations.ClearAllBindings(lControl); ANotificationViewModel lNotificationViewModel = pEventArgs.NewValue as ANotificationViewModel; if (lNotificationViewModel != null) { Binding lHeaderBinding = new Binding(); lHeaderBinding.Source = lControl.ViewModel; lControl.SetBinding(HeaderProperty, lHeaderBinding); Binding lQuickStyleBinding = new Binding("QuickStyle"); lQuickStyleBinding.Source = lControl.ViewModel; lControl.SetBinding(QuickStyleProperty, lQuickStyleBinding); QuestionViewModel lQuestionViewModel = lNotificationViewModel as QuestionViewModel; if (lQuestionViewModel != null) { Binding lYesButtonStyleBinding = new Binding("YesButtonStyle"); lYesButtonStyleBinding.Source = lControl.ViewModel; lControl.SetBinding(YesButtonStyleProperty, lYesButtonStyleBinding); Binding lNoButtonStyleBinding = new Binding("NoButtonStyle"); lNoButtonStyleBinding.Source = lControl.ViewModel; lControl.SetBinding(NoButtonStyleProperty, lNoButtonStyleBinding); Binding lCancelButtonStyleBinding = new Binding("CancelButtonStyle"); lCancelButtonStyleBinding.Source = lControl.ViewModel; lControl.SetBinding(CancelButtonStyleProperty, lCancelButtonStyleBinding); } InformationViewModel lInformationViewModel = lNotificationViewModel as InformationViewModel; if (lInformationViewModel != null) { Binding lOkButtonStyleBinding = new Binding("OkButtonStyle"); lOkButtonStyleBinding.Source = lControl.ViewModel; lControl.SetBinding(OkButtonStyleProperty, lOkButtonStyleBinding); } } lControl.UpdateState(); } }