Xamarin.forms 如何删除添加到stackLayout的子项
我正在使用scrollView和其中的stackLayout。将Xamarin.forms 如何删除添加到stackLayout的子项,xamarin.forms,Xamarin.forms,我正在使用scrollView和其中的stackLayout。将视图动态添加到stackLayout。当我试图删除添加的视图时,出现以下异常: 调用线程无法访问此对象,因为另一个 线程拥有它 我的代码如下 添加以下代码: MessagesStackLayout.Children.Clear(); foreach(消息列表中的var聊天) { MessagesStackLayout.Children.Add(新建CustomViewCell(聊天)); } 我有一种感觉,它没有在主线程上运行代
视图
动态添加到stackLayout。当我试图删除添加的视图时,出现以下异常:
调用线程无法访问此对象,因为另一个
线程拥有它
我的代码如下
添加以下代码:
MessagesStackLayout.Children.Clear();
foreach(消息列表中的var聊天)
{
MessagesStackLayout.Children.Add(新建CustomViewCell(聊天));
}
我有一种感觉,它没有在主线程上运行代码。请尝试以下方法,看看是否适合您:
Device.BeginInvokeOnMainThread(() =>
{
MessagesStackLayout.Children.Add(new CustomViewCell(chat));
});
谢谢你的帮助@G.hakim,但我还是得到了同样的例外情况,事情是,最初添加孩子时没有问题。当我尝试在一段时间后再添加一条消息时,会出现异常。例如,最初,如果我现在尝试添加第13条消息,则视图中现在有12条消息。因此,首先添加一组视图,然后删除所有视图,然后再试一次。我是否正确!?您是在哪里执行操作的
MessagesStackLayout.Children.Clear()代码>和消息stacklayout.Children.Add(新的CustomViewCell(chat))代码>?在线程中?