private void UpdateStockPrices(object state) { lock (_updateStockPricesLock) { var wasUpdated = false; foreach (var entry in Entries) { var r = _updateOrNotUpdate.NextDouble(); if (r > .1) { continue; } wasUpdated = true; var random = new Random((int)Math.Floor(entry.Price)); var percentChange = random.NextDouble() * _rangePercent; var pos = random.NextDouble() > .51; var change = Math.Round(entry.Price * (decimal)percentChange, 2); change = pos ? change : -change; entry.Price += change; } if (wasUpdated && WasUpdated != null) { WasUpdated.Invoke(); } } }
protected override Size ArrangeOverride(Size finalSize) { GlobalArrangeCount++; LocalArrangeCount++; WasUpdated?.Invoke(); return(base.ArrangeOverride(finalSize)); }
public CounterGrid2() { CreationCount++; WasUpdated?.Invoke(); DataContextChanged += On_DataContextChanged; }
protected override Size MeasureOverride(Size availableSize) { GlobalMeasureCount++; LocalMeasureCount++; WasUpdated?.Invoke(); return(base.MeasureOverride(availableSize)); }
private void On_DataContextChanged(DependencyObject sender, DataContextChangedEventArgs args) { if (args.NewValue != null) { BindCount++; WasUpdated?.Invoke(); } }