Я пытаюсь создать страницу чата.Есть просмотр списка, чьим источником является ObservableCollection.Кажется, что все идет гладко, пока элемент не добавлен в ObservableCollection.Добавленный элемент не сразу появляется на экране, и только после прикосновения к экрану он появляется.
На самом деле, у меня та же проблема, что и здесь: https://forums.xamarin.com/discussion/18631/listview-binding-to-observablecollection-does-not-update-gui/p2
Я считаю,одно из решений, указанных в потоке (Страница 2), имеет отношение к INotifyPropertyChanged.После многих попыток применить решение в соответствии с моими потребностями я не могу этого сделать.Не могли бы вы, пожалуйста, направить меня в правильном направлении.
Мой код суммирован следующим образом:
public partial class Chat : ContentPage
{
private ObservableCollection<MessageObj> Messages = new ObservableCollection<MessageObj>();
public Chat(string name, string imageURL, int UID)
{
msgList.ItemsSource = Messages; //msgList is ListView in XAML
}
public class MessageObj
{
public string Mess { get; set; }
public TextAlignment textAlignment { get; set; }
public MessageObj(string Mess, TextAlignment textAlignment)
{
this.Mess = Mess;
this.textAlignment = textAlignment;
}
}
}
Я также прочитал: формы XamarinListView ObservableCollection не обновляется Я думаю, что я изменяю коллекцию, так что я не должен сталкиваться с этой проблемой, но у меня есть.Любая помощь / понимание будет принята с благодарностью!
Я добавил справочную информацию, содержащую мой код для справки, в котором показаны мои теперь прокомментированные попытки различных решений: https://gist.github.com/Dobermensch/49ee9d8adb9a83a38790b691c857691d
Редактировать: добавлено немного больше изначально пропущенного кода вgist
Edit2: к вашему сведению, я не использую шаблон MVVM.