public TestSelectorViewModel(string assemblyLocation, TestSelector view) { SearchResults = new ObservableCollection<string> { "Loading..." }; LoadTests(assemblyLocation); var observable = Observable.FromEventPattern(this, "PropertyChanged").Where(e => ((PropertyChangedEventArgs)e.EventArgs).PropertyName == "SearchText"); _searchQuery = observable .Throttle(TimeSpan.FromMilliseconds(500)) .Select(e => ((PropertyChangedEventArgs)e.EventArgs).PropertyName) .Subscribe(s=>Search()); SelectCommand = new DelegateCommand(()=>view.DialogResult = true, ()=>!string.IsNullOrEmpty(SelectedMethod)); }
private void BrowseTests() { var testSelector = new TestSelector(); using (var testSelectorViewModel = new TestSelectorViewModel(TestAssembly, testSelector)) { testSelector.DataContext = testSelectorViewModel; var result = testSelector.ShowDialog(); if (result == true) TestMethod = testSelectorViewModel.SelectedMethod; } }