Witam.
W XamarinForms nadpisana metoda OnAppearing
wywołuje operację wczytywania danych po API (nie będę pokazywał całego kodu aby nie robić bałaganu):
// Lista obrazów
IImageService imageService = DependencyService.Get<IImageService>();
var images = await imageService.GetImages();
ImagesList.Clear();
foreach (var image in images)
ImagesList.Add(image);
// Wczytywanie elementu
ImageLink = ImagesList.FirstOrDefault(x => x.UrlAddress.AbsoluteUri == item.ImageLink.AbsoluteUri);
Tutaj jest lista obrazków
public ObservableCollection<ImageModel> ImagesList { get; }
Tutaj jest aktualnie zaznaczony obrazek:
private ImageModel imageLink;
public ImageModel ImageLink
{
get => imageLink;
set
{
SetProperty(ref imageLink, value);
}
}
I jeszcze xml (kontrolka z devexpress):
<uc:ComboBoxEdit SelectedItem="{Binding ImageLink, Mode=TwoWay}" ItemsSource="{Binding ImagesList}" PlaceholderText="Miniatura" LabelText="Miniatura">
</uc:ComboBoxEdit>
Teraz o problemie. W momencie wczytania strony mam (tylko wizualnie) niewybrany element jak na screenie poniżej:
Na początku szedłem drogą, że w momencie przypisywania wartości dla ImageLink
mam niezaktualizowaną listę, ale chyba jestem w błędzie. Po kliknięciu w listę "automatycznie" wybiera mi się właściwy element jak na screenie poniżej (tylko kliknąłem w listę, nic nie wybierałem):
Teraz jestem prawie pewien, że po prostu nie odświeża się widok. Jak temu zaradzić? Macie jakieś pomysły?