Ejemplo n.º 1
0
        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;
                    }
                }
            };
        }
Ejemplo n.º 2
0
		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();
			};
		}
Ejemplo n.º 3
0
        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();
            };
        }