如何在全景视图的列表框上快速加载数据
本文关键字:加载 数据 列表 全景 视图 | 更新日期: 2023-09-27 18:17:34
我来这里是因为我被这个非常烦人的问题卡住了。我将尽可能解释清楚。
我在我的Windows Phone xaml页面上有一个全景控件,有几个全景项。在每个PanoramaItem内部都有一个列表框,如下例所示:
<controls:Panorama ItemsSource="{Binding ContextCollection}" Title="Choose your model" x:Name="PanoramaAdd">
<controls:PanoramaItem Header="Samsung">
<Grid>
<ListBox height="300" Width="300" Name="Samsung_LBX"/>
</Grid>
</controls:PanoramaItem>
<controls:PanoramaItem Header="LG">
<Grid>
<ListBox height="300" Width="300" Name="LG_LBX"/>
</Grid>
</controls:PanoramaItem>
<controls:PanoramaItem Header="Toshiba">
<Grid>
<ListBox height="300" Width="300" Name="Toshiba_LBX"/>
</Grid>
</controls:PanoramaItem>
我从后台办公室的数据库中提取数据:
public ModelAdd()
{
InitializeComponent();
using (var _Context = new MyDataContext("Data Source=appdata:/DataAccessLayer.sdf;Mode=Read Only"))
{
//pull from my table Samsung all models of Samsung in my Listbox
Samsung_LBX.ItemsSource = _Context.Samsung.Select(x => x.Model);
//pull from my table LG all models of LG in my Listbox
LG_LBX.ItemsSource = _Context.LG.Select(x => x.Model);
//pull from my table Toshiba all models of Toshiba in my Listbox
Toshiba.ItemsSource = _Context.Toshiba.Select(x => x.Model);
}
}
我的问题是,当我导航到这个页面,数据需要太多的时间来加载,有超过这些品牌(三星,lg,东芝…),我有在我的数据库。所以,它需要15秒或更长时间加载,我的UI冻结,有时甚至崩溃。
我怎样才能使这个加载更快?我读过增量加载,但我不知道如何使它与我的几个列表框工作。
非常感谢您的时间!
水平:初学者。
您可能希望首先确保您的数据以list而不是Ienumerable的形式呈现,以便使用数据虚拟化。添加".ToList();。"
Context.Samsung。Select(x => x. model).ToList();