Я использую фреймворк ReactiveUI для поиска списка аэропортов мира.
Я настроил ObservableAsPropertyHelper, который является выходом предлагаемых аэропортов из свойства SearchTerm в ViewModel. Ниже приведено определение ObservableAsPropertyHelper. В представлении у меня есть список, который привязывается к этому свойству. Я хотел бы иметь возможность явно очистить список (потому что, как только пользователь выбрал предложенный элемент, я хочу заполнить SearchTerm выбранным аэропортом и очистить предлагаемый список). Есть ли элегантный способ реализовать это?
var searchTerms = this.ObservableForProperty(x => x.SearchTerms).Where(x => canSearch).Value().Throttle(TimeSpan.FromMilliseconds(500));
var searchResults = searchTerms.SelectMany(SearchAirports);
var latestResults = searchTerms.CombineLatest(searchResults, (s, r) => r.SearchTerm != s ? null : r.AirportLiteWithWeights).Where(x => x != null);
_airportLiteWithWeights = latestResults.ToProperty(this, x => x.AirportLiteWithWeights);