ObservableCollection <ProfilerLevel> CreateProfilerLevels(string key, int enabledLevels) { var levels = new ObservableCollection <ProfilerLevel>(); for (var i = 0; i < MaxLevels; i++) { var levelItem = new ProfilerLevel(i) { Name = "Level " + (i + 1), Enabled = (enabledLevels & (1 << i)) > 0 }; levelItem.PropertyChanged += (sender, args) => { if (args.PropertyName != "Enabled") { return; } var level = (ProfilerLevel)sender; var e = new ProfilerLevelChangedEventArgs(key, level.LevelId, level.Enabled); OnProfilerLevelChanged(e); }; levels.Add(levelItem); } return(levels); }
protected virtual void OnProfilerLevelChanged(ProfilerLevelChangedEventArgs e) { var handler = ProfilerLevelChanged; if (handler != null) { handler(this, e); } }