Example #1
0
 protected virtual void OnValueChanged(T newValue, T oldValue, DependencyObject d)
 {
     if (d is INamedValueEditor <T> editor)
     {
         var valueChangedEventArgs = new EditableValueChangedEventArgs <T>(editor.Value, editor.PropertyName);
         if (editor.ValueChangedCommand != null && editor.ValueChangedCommand.CanExecute(valueChangedEventArgs))
         {
             editor.ValueChangedCommand.Execute(valueChangedEventArgs);
         }
     }
 }
Example #2
0
        private static async void OnValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (d is NamedValueEditor <T> editor)
            {
                T newValue;
                T oldValue;

                if (e.NewValue is T)
                {
                    newValue = (T)e.NewValue;
                }
                else
                {
                    newValue = default(T);
                }

                if (e.OldValue is T)
                {
                    oldValue = (T)e.OldValue;
                }
                else
                {
                    oldValue = default(T);
                }

                editor.OnValueChanged(newValue, oldValue, d);

                var valueChangedEventArgs = new EditableValueChangedEventArgs <T>(editor.Value, editor.PropertyName);
                if (editor.ValueChangedCommand != null && editor.ValueChangedCommand.CanExecute(valueChangedEventArgs))
                {
                    editor.ValueChangedCommand.Execute(valueChangedEventArgs);
                }

                await editor.OnValueChangedAsync(newValue, oldValue, d);
            }
        }