public TextBoxCommandBehavior() { onPreviewKeyDown = (s, e) => { var d = ( DependencyObject )s; var cmd = this.Command; var prm = this.CommandParameter; if (cmd.CanExecute(prm)) { var gestures = cmd.GetGestures(); var senderGestures = gestures.Where(gesture => gesture.Matches(d, e)); if (((gestures.None() && e.Key == System.Windows.Input.Key.Enter) || senderGestures.Any())) { var k = e.Key; var m = ModifierKeys.None; if (senderGestures.Any()) { var gesture = senderGestures.First(); var keygesture = gesture as KeyGesture; if (keygesture != null) { k = keygesture.Key; m = keygesture.Modifiers; } } var args = new TextBoxCommandArgs(k, m, prm); cmd.Execute(args); e.Handled = true; } } }; }
static TextBoxManager() { onPreviewKeyDown = ( s, e ) => { var d = ( DependencyObject )s; var cmd = GetCommand( d ); var prm = GetCommandParameter( d ); if( cmd.CanExecute( prm ) ) { var gestures = cmd.GetGestures(); var senderGestures = gestures.Where( gesture => gesture.Matches( d, e ) ); if( ( ( gestures.None() && e.Key == System.Windows.Input.Key.Enter ) || senderGestures.Any() ) ) { var k = e.Key; var m = ModifierKeys.None; if( senderGestures.Any() ) { var gesture = senderGestures.First(); var keygesture = gesture as KeyGesture; if( keygesture != null ) { k = keygesture.Key; m = keygesture.Modifiers; } } var args = new TextBoxCommandArgs( k, m, prm ); cmd.Execute( args ); e.Handled = true; } } }; onLoaded = ( s, e ) => { var textBox = ( TextBox )s; textBox.PreviewKeyDown += onPreviewKeyDown; textBox.Unloaded += onUnloaded; }; onUnloaded = ( s, e ) => { var textBox = ( TextBox )s; //Vedi il CueBannerService per i dettagli //textBox.Loaded -= onLoaded; textBox.Unloaded -= onUnloaded; textBox.PreviewKeyDown -= onPreviewKeyDown; }; onGotFocus = ( s, e ) => { var source = ( s as TextBox ); source.SelectAll(); }; }
static TextBoxManager() { onPreviewKeyDown = (s, e) => { var d = ( DependencyObject )s; var cmd = GetCommand(d); var prm = GetCommandParameter(d); if (cmd.CanExecute(prm)) { var gestures = cmd.GetGestures(); var senderGestures = gestures.Where(gesture => gesture.Matches(d, e)); if (((gestures.None() && e.Key == System.Windows.Input.Key.Enter) || senderGestures.Any())) { var k = e.Key; var m = ModifierKeys.None; if (senderGestures.Any()) { var gesture = senderGestures.First(); var keygesture = gesture as KeyGesture; if (keygesture != null) { k = keygesture.Key; m = keygesture.Modifiers; } } var args = new TextBoxCommandArgs(k, m, prm); cmd.Execute(args); e.Handled = true; } } }; onLoaded = (s, e) => { var textBox = ( TextBox )s; textBox.PreviewKeyDown += onPreviewKeyDown; textBox.Unloaded += onUnloaded; }; onUnloaded = (s, e) => { var textBox = ( TextBox )s; //Vedi il CueBannerService per i dettagli //textBox.Loaded -= onLoaded; textBox.Unloaded -= onUnloaded; textBox.PreviewKeyDown -= onPreviewKeyDown; }; onGotFocus = (s, e) => { var source = (s as TextBox); source.SelectAll(); }; }