Beispiel #1
0
        /// <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();
            }
        }
Beispiel #2
0
        /// <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();
            }
        }