void OnSelection (object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem == null) { return; //ItemSelected is called on deselection, which results in SelectedItem being set to null } Sections s = (Sections)e.SelectedItem; switch (s.SectionName) { case "Geometric Brownian Motion": SimulatingAndAnalyzingAssetPrices.RandomWalk rw = new SimulatingAndAnalyzingAssetPrices.RandomWalk (10.0); Navigation.PushAsync (new BrownianMotionChartPage (rw.BrownianSeq, rw.BrownianSeq1, rw.BrownianSeq2)); break; case "MSFT Actual vs. GBM": var item = e.SelectedItem; Navigation.PushAsync (new CompareMsftHistoricalVolDriftChartPage ()); break; case "Msft vs. Improved GBM": // this is not properly implemented. needs non optimized drift/vol // SimulatingAndAnalyzingAssetPrices.RandomWalk rw = new SimulatingAndAnalyzingAssetPrices.RandomWalk (10.0); Navigation.PushAsync (new CompareMsftGbmChartPage ()); break; } ; ((ListView)sender).SelectedItem = null; }
void OnSelection(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem == null) { return; //ItemSelected is called on deselection, which results in SelectedItem being set to null } Sections s = (Sections)e.SelectedItem; switch (s.SectionName) { case "Geometric Brownian Motion": SimulatingAndAnalyzingAssetPrices.RandomWalk rw = new SimulatingAndAnalyzingAssetPrices.RandomWalk(10.0); Navigation.PushAsync(new BrownianMotionChartPage(rw.BrownianSeq, rw.BrownianSeq1, rw.BrownianSeq2)); break; case "MSFT Actual vs. GBM": var item = e.SelectedItem; Navigation.PushAsync(new CompareMsftHistoricalVolDriftChartPage()); break; case "Msft vs. Improved GBM": // this is not properly implemented. needs non optimized drift/vol // SimulatingAndAnalyzingAssetPrices.RandomWalk rw = new SimulatingAndAnalyzingAssetPrices.RandomWalk (10.0); Navigation.PushAsync(new CompareMsftGbmChartPage()); break; } ; ((ListView)sender).SelectedItem = null; }