| 1 | private QuantityUpDown qudSelector; |
| 2 | private TifSelector tifSelector; |
| 3 | private AtmStrategy.AtmStrategySelector atmStrategySelector; |
| 4 | |
| 5 | private DependencyObject LoadXAML() |
| 6 | { |
| 7 | qudSelector = LogicalTreeHelper.FindLogicalNode(pageContent, "qudSelector") as QuantityUpDown; |
| 8 | tifSelector = LogicalTreeHelper.FindLogicalNode(pageContent, "tifSelector") as TifSelector; |
| 9 | tifSelector.SetBinding(TifSelector.AccountProperty, new Binding { Source = accountSelector, Path = new PropertyPath("SelectedAccount") }); |
| 10 | tifSelector.SelectionChanged += (o, args) => |
| 11 | { |
| 12 | if (atmStrategySelector.SelectedAtmStrategy != null) |
| 13 | atmStrategySelector.SelectedAtmStrategy.TimeInForce = tifSelector.SelectedTif; |
| 14 | }; |
| 15 | atmStrategySelector = LogicalTreeHelper.FindLogicalNode(pageContent, "atmStrategySelector") as AtmStrategy.AtmStrategySelector; |
| 16 | atmStrategySelector.Id = Guid.NewGuid().ToString("N"); |
| 17 | if (atmStrategySelector != null) |
| 18 | atmStrategySelector.CustomPropertiesChanged += OnAtmCustomPropertiesChanged; |
| 19 | atmStrategySelector.SetBinding(AtmStrategy.AtmStrategySelector.AccountProperty, new Binding { Source = accountSelector, Path = new PropertyPath("SelectedAccount") }); |
| 20 | atmStrategySelector.SelectionChanged += (o, args) => |
| 21 | { |
| 22 | if (atmStrategySelector.SelectedItem == null) |
| 23 | return; |
| 24 | if (args.AddedItems.Count > 0) |
| 25 | { |
| 26 | AtmStrategy selectedAtmStrategy = args.AddedItems[0] as AtmStrategy; |
| 27 | if (selectedAtmStrategy != null) |
| 28 | tifSelector.SelectedTif = selectedAtmStrategy.TimeInForce; |
| 29 | } |
| 30 | }; |
| 31 | } |
| 32 | |
| 33 | private void OnAtmCustomPropertiesChanged(object sender, NinjaScript.AtmStrategy.CustomPropertiesChangedEventArgs args) |
| 34 | { |
| 35 | tifSelector.SelectedTif = args.NewTif; |
| 36 | qudSelector.Value = args.NewQuantity; |
| 37 | } |
| 38 | |
| 39 | public override void Cleanup() |
| 40 | { |
| 41 | base.Cleanup(); |
| 42 | } |