如何以编程方式从Xamarin.Forms ScrollView中删除内容?

如何以编程方式从Xamarin.Forms ScrollView中删除内容?,xamarin.forms,xamarin.ios,Xamarin.forms,Xamarin.ios,在一个内容页面上,我有一个滚动视图,我从后面的代码中将一个网格和内容添加到网格中。我想在点击按钮时删除以前添加的内容并添加新内容 <ScrollView Grid.Row="3" x:Name="frequencyView"> </ScrollView> 但是即使我跑 grid.children.clear()之前添加的内容不会从视图中删除。从网格中删除子项后,我尝试了Page.ForceLayout()和frequencyView.ForceLayout()。设置fr

在一个内容页面上,我有一个
滚动视图
,我从后面的代码中将一个网格和内容添加到网格中。我想在点击按钮时删除以前添加的内容并添加新内容

<ScrollView Grid.Row="3" x:Name="frequencyView">
</ScrollView>
但是即使我跑

grid.children.clear()
之前添加的内容不会从视图中删除。从网格中删除子项后,我尝试了
Page.ForceLayout()
frequencyView.ForceLayout()
。设置
frequencyView.Content=null
无效


如何从scrollview中删除以前添加的内容?

通常不应从布局中删除UI对象。你应该先创建布局,然后隐藏/显示控件…

你是在UI线程上进行这些更改吗?@Jason即使这样似乎也无济于事。我已经更新了代码以使用
MainThread.beginInvokeMainThread
No dice:-(尝试使用Device.beginInvokeMainThread而不是MainThread.beginInvokeMainThread你可以共享更多代码或可以重现此问题的基本示例吗?我尝试了
grid.children.clear()
子项
确实删除了。@JackHua MSFT在每个网格行中,我添加了一个Syncfusion图表控件。点击一个按钮,我重新加载图表数据,并试图删除以前添加的图表,并替换为新的图表。你是说UI屏幕元素已经为你删除了吗?
var grid = new Grid();
grid.Rowdefinitions.Add(...)
grid.Children.Add(.. another view..)
frequencyView.Content = grid;