如何删除添加到stackLayout的子级

时间:2019-05-16 09:47:38

标签: xamarin.forms

我正在使用scrollView和其中的stackLayout。将View动态添加到stackLayout中。尝试删除添加的视图时,出现以下异常:

  

由于不同,调用线程无法访问该对象   线程拥有它。

我的代码如下

<ScrollView Orientation="Vertical" VerticalOptions="FillAndExpand" 
            x:Name="MessagesScrollView">
    <StackLayout Padding="7" x:Name="MessagesStackLayout"
                 HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
    </StackLayout>
</ScrollView>

添加后面的代码是:

MessagesStackLayout.Children.Clear();
foreach (var chat in messagesList)
{
    MessagesStackLayout.Children.Add(new CustomViewCell(chat));
}

1 个答案:

答案 0 :(得分:1)

我感觉它没有在MainThread上运行代码,请尝试以下操作,看看是否对您有用:

  Device.BeginInvokeOnMainThread(() =>
  {
     MessagesStackLayout.Children.Add(new CustomViewCell(chat));
  });