internal static new void InvokeHandler(Delegate handler, IntPtr sender, IntPtr args)
        {
            DataObjectPastingEventHandler handler_ = (DataObjectPastingEventHandler)handler;

            if (handler_ != null)
            {
                handler_(Extend.GetProxy(sender, false), new DataObjectPastingEventArgs(args, false));
            }
        }
        private static void PasteHandlerPropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            ComboBox cb = obj as ComboBox;
            DataObjectPastingEventHandler handler = e.NewValue as DataObjectPastingEventHandler;

            if (cb != null && handler != null)
            {
                DataObject.AddPastingHandler(cb, handler);
            }
        }
Пример #3
0
    static NumericTextBox()
    {
        DataObjectPastingEventHandler handler = (sender, e) =>
        {
            if (!IsDataValid(e.DataObject))
            {
                var data = new DataObject();
                data.SetText(string.Empty);
                e.DataObject = data;
                e.Handled    = false;
            }
        };

        EventManager.RegisterClassHandler(typeof(NumericTextBox), DataObject.PastingEvent, handler);
    }
Пример #4
0
 public static void RemovePastingHandler(DependencyObject element, DataObjectPastingEventHandler handler)
 {
     throw new NotImplementedException();
 }
Пример #5
0
 protected override void OnInitialized(EventArgs e)
 {
     base.AllowDrop = true;
     base.OnInitialized(e);
     base.Unloaded += new RoutedEventHandler(this.InputBox_Unloaded);
     this.pastingEventHandler = new DataObjectPastingEventHandler(this.InputBox_Pasting);
     this.copyingEventHandler = new DataObjectCopyingEventHandler(this.InputBox_Copying);
     base.AddHandler(DataObject.PastingEvent, this.pastingEventHandler, true);
     base.AddHandler(DataObject.CopyingEvent, this.copyingEventHandler, true);
     this.clickedEventHandler = new ImageEx.ClickedEventHandler(this.InputBox_ImageClicked);
     base.AddHandler(ImageEx.ClickedEvent, this.clickedEventHandler, false);
     base.FontFamily = defaultFontFamily;
     base.FontSize = 12.0;
     this.executedRoutedEventHandler = new ExecutedRoutedEventHandler(this.ExecutedRoutedEvent);
     this.canExecuteRoutedEventHandler = new CanExecuteRoutedEventHandler(this.CanExecuteRoutedEvent);
     base.AddHandler(CommandManager.PreviewExecutedEvent, this.executedRoutedEventHandler, true);
     base.AddHandler(CommandManager.PreviewCanExecuteEvent, this.canExecuteRoutedEventHandler, true);
 }
 public static void SetPasteHandler(UIElement element, DataObjectPastingEventHandler value)
 {
     element.SetValue(PasteHandlerProperty, value);
 }
Пример #7
0
        //------------------------------------------------------
        //
        //  Protected Methods
        //
        //------------------------------------------------------

        /// <summary>
        /// The mechanism used to call the type-specific handler on the target.
        /// </summary>
        /// <param name="genericHandler">
        /// The generic handler to call in a type-specific way.
        /// </param>
        /// <param name="genericTarget">
        /// The target to call the handler on.
        /// </param>
        protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget)
        {
            DataObjectPastingEventHandler handler = (DataObjectPastingEventHandler)genericHandler;

            handler(genericTarget, this);
        }
Пример #8
0
 /// <summary>Removes a DataObject.Pasting event handler from a specified element.</summary>
 public static void RemovePastingHandler(DependencyObject d, DataObjectPastingEventHandler handler)
 {
     ((UIElement)d).RemoveHandler(PastingEvent, handler);
 }
Пример #9
0
 /// <summary>
 ///     Removes a handler for the Pasting attached event
 /// </summary>
 /// <param name="element">UIElement or ContentElement that listens to this event</param>
 /// <param name="handler">Event Handler to be removed</param>
 public static void RemovePastingHandler(DependencyObject element, DataObjectPastingEventHandler handler)
 {
     UIElement.RemoveHandler(element, PastingEvent, handler);
 }
Пример #10
0
        private static void OnInputFilterPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs arg)
        {
            var textBox = source as TextBox;

            if (textBox == null)
            {
                return;
            }

            if (!(arg.NewValue is InputFilter))
            {
                return;
            }
            InputFilter inputFilter = (InputFilter)arg.NewValue;

            DataObjectPastingEventHandler dataPastingHandle = (s, e) =>
            {
                if (e.DataObject.GetDataPresent(typeof(String)))
                {
                    String text = (String)e.DataObject.GetData(typeof(String));
                    if (inputFilter == InputFilter.OnlyInteger)
                    {
                        if (int_regex.IsMatch(text))
                        {
                            e.CancelCommand();
                        }
                    }
                    else if (inputFilter == InputFilter.Numeric)
                    {
                        if (num_regex.IsMatch(text))
                        {
                            e.CancelCommand();
                        }
                    }
                }
                else
                {
                    e.CancelCommand();
                }
            };

            if (inputFilter == InputFilter.OnlyInteger || inputFilter == InputFilter.Numeric)
            {
                InputMethod.SetIsInputMethodEnabled(textBox, false);
                DataObject.RemovePastingHandler(textBox, dataPastingHandle);
                DataObject.AddPastingHandler(textBox, dataPastingHandle);
            }

            TextCompositionEventHandler inputHandle = (s, e) =>
            {
                if (inputFilter == InputFilter.OnlyInteger)
                {
                    e.Handled = int_regex.IsMatch(e.Text);
                }
                else if (inputFilter == InputFilter.Numeric)
                {
                    e.Handled = num_regex.IsMatch(e.Text);
                }
            };

            textBox.PreviewTextInput -= inputHandle;
            textBox.PreviewTextInput += inputHandle;
        }
Пример #11
0
 public TextBoxAllowableCharactersBehavior(DependencyObject obj) : base(obj)
 {
     _dataObjectPastingEventDelegate = new DataObjectPastingEventHandler(OnPaste);
 }
Пример #12
0
 public TextBoxAllowableCharactersBehavior()
 {
     _dataObjectPastingEventDelegate = new DataObjectPastingEventHandler(OnPaste);
 }
Пример #13
0
		public static void RemovePastingHandler (DependencyObject element, DataObjectPastingEventHandler handler)
		{
			throw new NotImplementedException ();
		}
 public static void AddPastingHandler(DependencyObject element, DataObjectPastingEventHandler handler)
 {
 }
 public static void AddPastingHandler(DependencyObject element, DataObjectPastingEventHandler handler)
 {
 }