Announcement
Collapse
Looking for a User App or Add-On built by the NinjaTrader community?
Visit NinjaTrader EcoSystem and our free User App Share!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less
Partner 728x90
Collapse
NinjaTrader
QuantityUpDown move cursor inside textbox element
Collapse
X
-
QuantityUpDown move cursor inside textbox element
-
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.JesseNinjaTrader Customer Service
- Likes 1
-
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();
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by Johnny Santiago, 10-11-2019, 09:21 AM
|
97 responses
6,275 views
0 likes
|
Last Post Today, 09:44 AM | ||
Started by patrickmlee007, Today, 09:33 AM
|
0 responses
3 views
0 likes
|
Last Post Today, 09:33 AM | ||
Started by Rogers101, 05-05-2024, 11:30 AM
|
22 responses
67 views
0 likes
|
Last Post
by Rogers101
Today, 09:20 AM
|
||
Started by reynoldsn, 05-04-2024, 02:34 PM
|
2 responses
24 views
0 likes
|
Last Post
by reynoldsn
Today, 09:20 AM
|
||
Started by ttrader23, Today, 09:04 AM
|
1 response
4 views
0 likes
|
Last Post Today, 09:17 AM |
Comment