在发现没有明确的方法来调整ListView的大小以适合内容后,我决定扩展ListView来在每次添加孩子时调整自身的大小。我尝试了这段代码,但是没有用。可能是什么问题呢?我该如何解决?
public class SmartListView : ListView
{
public SmartListView() : base()
{
ChildAdded += Resize;
}
private void Resize(object sender, ElementEventArgs e)
{
HeightRequest = Height + ((ViewCell)sender).Height;
}
}
但是,回调Resize
从未被击中。
订阅您的CollectionChanged,ObservableCollection
如下所示:
MyObservableCollection.CollectionChanged += (sender, e) =>
{
var adjust = Device.OS != TargetPlatform.Android ? 1 : -MyObservableCollection.Count + 1;
myListView.HeightRequest = (MyObservableCollection.Count * myListView.RowHeight) - adjust;
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句