소스 속성이 변경 될 때마다 내 테이블보기가 업데이트되지 않습니다. 다음과 같이 코드는 다음과 같습니다변경된 속성에서 MvvmCross iOS UITableView가 업데이트되지 않습니다.
의 ViewController :
public override void ViewDidLoad()
{
base.ViewDidLoad();
View.BackgroundColor = UIColor.White;
var table = new UITableView(new RectangleF(0, 80, Device.Width, Device.Height - 80));
Add(table);
var source = new MvxStandardTableViewSource(table, "TitleText SessionInfo");
table.Source = source;
var set = this.CreateBindingSet<JoinSessionViewController, JoinSessionViewModel>();
set.Bind(source).To(vm => vm.AvailableServers);
set.Apply();
table.ReloadData();
}
뷰 모델 :
private readonly INetworkSessionClient _client;
public JoinSessionViewModel(INetworkSessionClient client)
{
_client = client;
_client.ServerFound += ClientOnServerFound;
_client.BeginSearchingForServers();
}
private void ClientOnServerFound(object sender, ServerFoundEventArgs serverFoundEventArgs)
{
if (AvailableServers.Any(s => s.Identifier == serverFoundEventArgs.ServerInfo.Identifier))
return;
AvailableServers.Add(serverFoundEventArgs.ServerInfo);
RaisePropertyChanged(() => AvailableServers);
}
private List<ServerInfo> _availableServers;
public List<ServerInfo> AvailableServers
{
get { return _availableServers; }
set { _availableServers = value; RaisePropertyChanged(() => AvailableServers); }
}
http://stackoverflow.com/questions/18170151/items-not-showing-in-mvxlistview/18181316#18181316을 참조하십시오 -'=='코드 줄의 이유는 최적화입니다 (여러 목록을 방지하기 위해 그림). 누군가가이를 어떻게 든 더 잘 할 수 있다고 생각하거나 (예를 들어 선택적으로 설정하거나 추적을 추가하는 등) 문제에 대해 기록하거나 풀 요청을 보내주십시오. – Stuart
Observable Collection이 RecyclerView에서 Exception으로 실행됩니다. "예외 동안 RealNotifyDataSetChanged 어댑터가 마스크되었습니다. ArgumentException : 'jobject'가 IntPtr.Zero가 아니어야합니다." 목록으로 다시 변경하는 간단한 해결책이 아니며 항목을 삭제하거나 추가하는 경우 .ToList()를 호출하십시오. – Marian