Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

QuantityUpDown move cursor inside textbox element

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    QuantityUpDown move cursor inside textbox element

    Hi, how can I move the cursor left and right within a QuantityUpDown element using the arrow keys on the keyboard.
    With a normal text box you can do this with the "Caret Index" property, but this property does not exist in the "QuantityUpDown".

    Click image for larger version

Name:	QtyUpDown.gif
Views:	248
Size:	39.0 KB
ID:	1213991
    sidlercom80
    NinjaTrader Ecosystem Vendor - Sidi Trading

    #2
    Hello sidlercom80,

    The QuantityUpDown control is a custom control built for NinjaTrader, as such it does not have the same properties as a TextBox. This is a control which has multiple other WPF controls as children so you wouldn't be able to do the same tasks as a TextBox. You should be able to use the arrow keys, that works with control as shown in your video. For a custom implementation of this you would need to use the parent controls PreviewKey events to handle arrow keys to avoid other actions that may be already used by those keys. By doing that you would disable the normal functionality if this was being used in a chart. To fully handle that situation you would also need to check that the child TextBox has focus however I wouldn't be able to provide any help on how to find that textbox within the controls visual tree as it does not have an automation id.

    Comment


      #3
      For those interested in how to find a kind element (TextBox) in a QuantityUpDown control, without Automation ID:

      Code:
      public static IEnumerable<T> GetAllVisualChildsFromParent<T>(this DependencyObject depObj) where T : DependencyObject
      {[INDENT]if (depObj == null)[/INDENT][INDENT]{[/INDENT][INDENT=2]yield return (T)Enumerable.Empty<T>();[/INDENT][INDENT]}[/INDENT][INDENT]for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)[/INDENT][INDENT]{[/INDENT][INDENT=2]DependencyObject ithChild = VisualTreeHelper.GetChild(depObj, i);[/INDENT][INDENT=2]if (ithChild == null)[/INDENT][INDENT=2]{[/INDENT][INDENT=3]continue;[/INDENT][INDENT=2]}[/INDENT][INDENT=2]if (ithChild is T)[/INDENT][INDENT=2]{[/INDENT][INDENT=3]yield return (T)ithChild;[/INDENT][INDENT=2]}[/INDENT][INDENT=2]foreach (T childOfChild in GetAllVisualChildsFromParent<T>(ithChild))[/INDENT][INDENT=2]{[/INDENT][INDENT=3]yield return childOfChild;[/INDENT][INDENT=2]}[/INDENT][INDENT]}[/INDENT]
       }
      Code:
      public static TextBox GetFirstChildTextBox(this Control control)
      {[INDENT]foreach (TextBox tb in control.GetAllVisualChildsFromParent<TextBox>())[/INDENT][INDENT]{[/INDENT][INDENT=2]return tb;[/INDENT][INDENT]}[/INDENT][INDENT]return null;[/INDENT]
       }
      Code:
      var textBox = qtyUpDown.GetFirstChildTextBox();
      sidlercom80
      NinjaTrader Ecosystem Vendor - Sidi Trading

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by Mindset, 04-21-2026, 06:46 AM
      0 responses
      93 views
      0 likes
      Last Post Mindset
      by Mindset
       
      Started by M4ndoo, 04-20-2026, 05:21 PM
      0 responses
      138 views
      0 likes
      Last Post M4ndoo
      by M4ndoo
       
      Started by M4ndoo, 04-19-2026, 05:54 PM
      0 responses
      68 views
      0 likes
      Last Post M4ndoo
      by M4ndoo
       
      Started by cmoran13, 04-16-2026, 01:02 PM
      0 responses
      123 views
      0 likes
      Last Post cmoran13  
      Started by PaulMohn, 04-10-2026, 11:11 AM
      0 responses
      73 views
      0 likes
      Last Post PaulMohn  
      Working...
      X