Jak mogę zrobić, żeby mi się lista automatycznie odświeżała po pobraniu z api ? Chodzi mi o to, że chcę zrobić sobie podpowiedzi dotyczące nazw, korzystam sobie z google api. pobieram sobie dane. Wykorzystuje kontrolkę z wpf toolkit
public static async Task<List<string>> GetCityFromJson(string value)
{
string cityUrl = $"https://maps.googleapis.com/maps/api/place/autocomplete/json?input={value}&types=(cities)&language=pl_PL&key=brak";
string cityJson = await new HttpClient().GetStringAsync(cityUrl);
var cityDeserializeObject = JsonConvert.DeserializeObject<RootObject>(cityJson);
var disc = cityDeserializeObject.predictions.Select(z => z.description).ToList();
return disc;
}
<controls:AutoCompleteBox
x:Name="AutoCompleteBox"
ItemsSource="{Binding CityValues, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Search, UpdateSourceTrigger=PropertyChanged}"
Text="{Binding Search, Mode=TwoWay ,UpdateSourceTrigger=PropertyChanged}"
IsTextCompletionEnabled="True"
FilterMode="Contains"
Focusable="True"
Margin="73,5,58.8,5" FontSize="18"
Height="35"
VerticalAlignment="Center" HorizontalAlignment="Center" Width="285" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeCommandAction Command="{Binding KeyUpEventCommand, UpdateSourceTrigger=PropertyChanged}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</controls:AutoCompleteBox>
VIewModel
```csharp
private ObservableCollection<string> _citiesValues;
public ObservableCollection<string> CityValues
{
get => _citiesValues;
set
{
_citiesValues = value;
SetProperty(ref _citiesValues, value);
}
}
public async void KeyEnterCommand(KeyEventArgs args)
{
_citiesValues = new ObservableCollection<string>(await HttpGrabber.GetCityFromJson(Search));
}
Nazwy mi się pobierają, tyle, że nie dodaje mi się to do listy w kontrolce i kontrolka się nie odświeża.