private async Task Search() { StartLoading(); Builds.Clear(); DisplayIsIndeterminate = true; await Task.Run(async() => { ProgressTotalItems = buildDefs.Length; foreach (IBuildDefinition buildDef in buildDefs) { IBuildDetail[] builds = await SearchBuilds(buildDef); foreach (IBuildDetail detail in builds) { Builds.AddOnUi(new BuildDetail(buildDef, detail)); } ProgressValue++; DisplayIsIndeterminate = false; } }); Working = false; }